@nikil511 and @Lendog I got it going to some extent, here's the serial monitor dump from the NodeMCU. I'm not sure what's happening, but it seems after a certain number of tries it dies, and won't reconnect to the wifi.
Any ideas?
....WiFi Connected!
IP: 192.168.0.7
0;0;3;0;9;gateway started, id=0, parent=0, distance=0
0;0;3;0;9;read: 5-5-0 s=10,c=1,t=1,pt=7,l=5,sg=0:16.0
Sensor:5;10;1;0;1;16.0
0;0;3;0;9;read: 4-4-0 s=11,c=1,t=0,pt=7,l=5,sg=0:20.0
Sensor:4;11;1;0;0;20.0
connecting to api.thingspeak.com
Requesting URL: /update?key=7BECYAJ5IYGYSIJ5&field1=20.0&field2=2770
0;0;3;0;9;read: 5-5-0 s=11,c=1,t=0,pt=7,l=5,sg=0:23.0
Sensor:5;11;1;0;0;23.0
connecting to api.thingspeak.com
Requesting URL: /update?key=7BECYAJ5IYGYSIJ5&field1=23.0&field2=2769
0;0;3;0;9;read: 5-5-0 s=10,c=1,t=1,pt=7,l=5,sg=0:16.0
Sensor:5;10;1;0;1;16.0
0;0;3;0;9;read: 4-4-0 s=11,c=1,t=0,pt=7,l=5,sg=0:20.0
Sensor:4;11;1;0;0;20.0
connecting to api.thingspeak.com
Requesting URL: /update?key=7BECYAJ5IYGYSIJ5&field1=20.0&field2=2767
0;0;3;0;9;read: 4-4-0 s=10,c=1,t=1,pt=7,l=5,sg=0:17.0
Sensor:4;10;1;0;1;17.0
0;0;3;0;9;read: 5-5-0 s=11,c=1,t=0,pt=7,l=5,sg=0:23.0
Sensor:5;11;1;0;0;23.0
connecting to api.thingspeak.com
Requesting URL: /update?key=7BECYAJ5IYGYSIJ5&field1=23.0&field2=2770
0;0;3;0;9;read: 4-4-0 s=11,c=1,t=0,pt=7,l=5,sg=0:20.0
Sensor:4;11;1;0;0;20.0
connecting to api.thingspeak.com
Requesting URL: /update?key=7BECYAJ5IYGYSIJ5&field1=20.0&field2=2770
0;0;3;0;9;read: 4-4-0 s=10,c=1,t=1,pt=7,l=5,sg=0:17.0
Sensor:4;10;1;0;1;17.0
0;0;3;0;9;read: 5-5-0 s=10,c=1,t=1,pt=7,l=5,sg=0:16.0
Sensor:5;10;1;0;1;16.0
0;0;3;0;9;read: 4-4-0 s=11,c=1,t=0,pt=7,l=5,sg=0:20.0
Sensor:4;11;1;0;0;20.0
connecting to api.thingspeak.com
Requesting URL: /update?key=7BECYAJ5IYGYSIJ5&field1=20.0&field2=2770
0;0;3;0;9;read: 5-5-0 s=11,c=1,t=0,pt=7,l=5,sg=0:23.0
Sensor:5;11;1;0;0;23.0
connecting to api.thingspeak.com
Requesting URL: /update?key=7BECYAJ5IYGYSIJ5&field1=23.0&field2=2769
HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
Content-Length: 1
Connection: close
Status: 200 OK
X-Frame-Options: ALLOWALL
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, OPTIONS, DELETE, PATCH
Access-Control-Allow-Headers: origin, content-type, X-Requested-With
Access-Control-Max-Age: 1800
ETag: "cfcd208495d565ef66e7dff9f98764da"
Cache-Control: max-age=0, private, must-revalidate
X-Request-Id: 78d55d27-5e3b-44b8-a646-aa5621e2474a
X-Runtime: 0.012198
X-Powered-By: Phusion Passenger 4.0.57
Date: Sat, 02 Sep 2017 12:47:14 GMT
Server: nginx/1.9.3 + Phusion Passenger 4.0.57
00;0;3;0;9;read: 5-5-0 s=10,c=1,t=1,pt=7,l=5,sg=0:16.0
Sensor:5;10;1;0;1;16.0
0;0;3;0;9;read: 4-4-0 s=11,c=1,t=0,pt=7,l=5,sg=0:20.0
Sensor:4;11;1;0;0;20.0
connecting to api.thingspeak.com
Requesting URL: /update?key=7BECYAJ5IYGYSIJ5&field1=20.0&field2=2770
0;0;3;0;9;read: 4-4-0 s=10,c=1,t=1,pt=7,l=5,sg=0:17.0
Sensor:4;10;1;0;1;17.0
0;0;3;0;9;read: 4-4-0 s=11,c=1,t=0,pt=7,l=5,sg=0:20.0
Sensor:4;11;1;0;0;20.0
connecting to api.thingspeak.com
Requesting URL: /update?key=7BECYAJ5IYGYSIJ5&field1=20.0&field2=2770
0;0;3;0;9;read: 4-4-0 s=10,c=1,t=1,pt=7,l=5,sg=0:17.0
Sensor:4;10;1;0;1;17.0
0;0;3;0;9;read: 5-5-0 s=10,c=1,t=1,pt=7,l=5,sg=0:16.0
Sensor:5;10;1;0;1;16.0
0;0;3;0;9;read: 5-5-0 s=11,c=1,t=0,pt=7,l=5,sg=0:23.0
Sensor:5;11;1;0;0;23.0
connecting to api.thingspeak.com
Requesting URL: /update?key=7BECYAJ5IYGYSIJ5&field1=23.0&field2=2770
0;0;3;0;9;read: 4-4-0 s=11,c=1,t=0,pt=7,l=5,sg=0:20.0
Sensor:4;11;1;0;0;20.0
connecting to api.thingspeak.com
Requesting URL: /update?key=7BECYAJ5IYGYSIJ5&field1=20.0&field2=2769
0;0;3;0;9;read: 4-4-0 s=10,c=1,t=1,pt=7,l=5,sg=0:17.0
Sensor:4;10;1;0;1;17.0
0;0;3;0;9;read: 5-5-0 s=10,c=1,t=1,pt=7,l=5,sg=0:16.0
Sensor:5;10;1;0;1;16.0
0;0;3;0;9;read: 5-5-0 s=11,c=1,t=0,pt=7,l=5,sg=0:23.0
Sensor:5;11;1;0;0;23.0
connecting to api.thingspeak.com
Requesting URL: /update?key=7BECYAJ5IYGYSIJ5&field1=23.0&field2=2770
HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
Content-Length: 2
Connection: close
Status: 200 OK
X-Frame-Options: ALLOWALL
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, OPTIONS, DELETE, PATCH
Access-Control-Allow-Headers: origin, content-type, X-Requested-With
Access-Control-Max-Age: 1800
ETag: "e369853df766fa44e1ed0ff613f563bd"
Cache-Control: max-age=0, private, must-revalidate
X-Request-Id: ca8837ac-4126-4cb9-a15c-79aba886bad6
X-Runtime: 0.062403
X-Powered-By: Phusion Passenger 4.0.57
Date: Sat, 02 Sep 2017 12:47:22 GMT
Server: nginx/1.9.3 + Phusion Passenger 4.0.57
340;0;3;0;9;read: 4-4-0 s=11,c=1,t=0,pt=7,l=5,sg=0:20.0
Sensor:4;11;1;0;0;20.0
connecting to api.thingspeak.com
Requesting URL: /update?key=7BECYAJ5IYGYSIJ5&field1=20.0&field2=2770
0;0;3;0;9;read: 4-4-0 s=11,c=1,t=0,pt=7,l=5,sg=0:20.0
Sensor:4;11;1;0;0;20.0
connecting to api.thingspeak.com
Requesting URL: /update?key=7BECYAJ5IYGYSIJ5&field1=20.0&field2=2770
0;0;3;0;9;read: 4-4-0 s=10,c=1,t=1,pt=7,l=5,sg=0:17.0
Sensor:4;10;1;0;1;17.0
0;0;3;0;9;read: 5-5-0 s=11,c=1,t=0,pt=7,l=5,sg=0:23.0
Sensor:5;11;1;0;0;23.0
connecting to api.thingspeak.com
Requesting URL: /update?key=7BECYAJ5IYGYSIJ5&field1=23.0&field2=2770
0;0;3;0;9;read: 4-4-0 s=10,c=1,t=1,pt=7,l=5,sg=0:17.0
Sensor:4;10;1;0;1;17.0
0;0;3;0;9;read: 5-5-0 s=10,c=1,t=1,pt=7,l=5,sg=0:16.0
Sensor:5;10;1;0;1;16.0
0;0;3;0;9;read: 5-5-0 s=11,c=1,t=0,pt=7,l=5,sg=0:23.0
Sensor:5;11;1;0;0;23.0
connecting to api.thingspeak.com
Requesting URL: /update?key=7BECYAJ5IYGYSIJ5&field1=23.0&field2=2770
HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
Content-Length: 1
Connection: close
Status: 200 OK
X-Frame-Options: ALLOWALL
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, OPTIONS, DELETE, PATCH
Access-Control-Allow-Headers: origin, content-type, X-Requested-With
Access-Control-Max-Age: 1800
ETag: "cfcd208495d565ef66e7dff9f98764da"
Cache-Control: max-age=0, private, must-revalidate
X-Request-Id: 5ff4845e-b807-4398-ae11-fac634e2c2ec
X-Runtime: 0.012793
X-Powered-By: Phusion Passenger 4.0.57
Date: Sat, 02 Sep 2017 12:47:27 GMT
Server: nginx/1.9.3 + Phusion Passenger 4.0.57
00;0;3;0;9;read: 4-4-0 s=11,c=1,t=0,pt=7,l=5,sg=0:20.0
Sensor:4;11;1;0;0;20.0
connecting to api.thingspeak.com
Requesting URL: /update?key=7BECYAJ5IYGYSIJ5&field1=20.0&field2=2770
0;0;3;0;9;read: 4-4-0 s=10,c=1,t=1,pt=7,l=5,sg=0:17.0
Sensor:4;10;1;0;1;17.0
0;0;3;0;9;read: 5-5-0 s=10,c=1,t=1,pt=7,l=5,sg=0:16.0
Sensor:5;10;1;0;1;16.0
0;0;3;0;9;read: 4-4-0 s=11,c=1,t=0,pt=7,l=5,sg=0:20.0
Sensor:4;11;1;0;0;20.0
connecting to api.thingspeak.com
Requesting URL: /update?key=7BECYAJ5IYGYSIJ5&field1=20.0&field2=2770
0;0;3;0;9;read: 5-5-0 s=11,c=1,t=0,pt=7,l=5,sg=0:23.0
Sensor:5;11;1;0;0;23.0
connecting to api.thingspeak.com
Requesting URL: /update?key=7BECYAJ5IYGYSIJ5&field1=23.0&field2=2770
0;0;3;0;9;read: 5-5-0 s=10,c=1,t=1,pt=7,l=5,sg=0:16.0
Sensor:5;10;1;0;1;16.0
0;0;3;0;9;read: 4-4-0 s=11,c=1,t=0,pt=7,l=5,sg=0:20.0
Sensor:4;11;1;0;0;20.0
connecting to api.thingspeak.com
Requesting URL: /update?key=7BECYAJ5IYGYSIJ5&field1=20.0&field2=2770
0;0;3;0;9;read: 4-4-0 s=10,c=1,t=1,pt=7,l=5,sg=0:17.0
Sensor:4;10;1;0;1;17.0
0;0;3;0;9;read: 5-5-0 s=11,c=1,t=0,pt=7,l=5,sg=0:23.0
Sensor:5;11;1;0;0;23.0
connecting to api.thingspeak.com
Requesting URL: /update?key=7BECYAJ5IYGYSIJ5&field1=23.0&field2=2770
0;0;3;0;9;read: 4-4-0 s=10,c=1,t=0,pt=7,l=5,sg=0:20.0
Sensor:4;10;1;0;0;20.0
connecting to api.thingspeak.com
Requesting URL: /update?key=7BECYAJ5IYGYSIJ5&field1=20.0&field2=2770
0;0;3;0;9;read: 4-4-0 s=10,c=1,t=1,pt=7,l=5,sg=0:17.0
Sensor:4;10;1;0;1;17.0
0;0;3;0;9;read: 5-5-0 s=10,c=1,t=1,pt=7,l=5,sg=0:16.0
Sensor:5;10;1;0;1;16.0
0;0;3;0;9;read: 5-5-0 s=11,c=1,t=0,pt=7,l=5,sg=0:23.0
Sensor:5;11;1;0;0;23.0
connecting to api.thingspeak.com
Requesting URL: /update?key=7BECYAJ5IYGYSIJ5&field1=23.0&field2=2768
0;0;3;0;9;read: 4-4-0 s=11,c=1,t=0,pt=7,l=5,sg=0:20.0
Sensor:4;11;1;0;0;20.0
connecting to api.thingspeak.com
Requesting URL: /update?key=7BECYAJ5IYGYSIJ5&field1=20.0&field2=2769
0;0;3;0;9;read: 4-4-0 s=10,c=1,t=1,pt=7,l=5,sg=0:17.0
Sensor:4;10;1;0;1;17.0
0;0;3;0;9;read: 5-5-0 s=10,c=1,t=1,pt=7,l=5,sg=0:16.0
Sensor:5;10;1;0;1;16.0
0;0;3;0;9;read: 5-5-0 s=11,c=1,t=0,pt=7,l=5,sg=0:23.0
Sensor:5;11;1;0;0;23.0
connecting to api.thingspeak.com
Requesting URL: /update?key=7BECYAJ5IYGYSIJ5&field1=23.0&field2=2770
0;0;3;0;9;read: 4-4-0 s=11,c=1,t=0,pt=7,l=5,sg=0:20.0
Sensor:4;11;1;0;0;20.0
connecting to api.thingspeak.com
Requesting URL: /update?key=7BECYAJ5IYGYSIJ5&field1=20.0&field2=2770
HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
Content-Length: 1
Connection: close
Status: 200 OK
X-Frame-Options: ALLOWALL
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, OPTIONS, DELETE, PATCH
Access-Control-Allow-Headers: origin, content-type, X-Requested-With
Access-Control-Max-Age: 1800
ETag: "cfcd208495d565ef66e7dff9f98764da"
Cache-Control: max-age=0, private, must-revalidate
X-Request-Id: 7cfa0258-05fa-461d-af65-426cbcc0017b
X-Runtime: 0.009982
X-Powered-By: Phusion Passenger 4.0.57
Date: Sat, 02 Sep 2017 12:47:39 GMT
Server: nginx/1.9.3 + Phusion Passenger 4.0.57
00;0;3;0;9;read: 4-4-0 s=10,c=1,t=1,pt=6,l=5,sg=0:0000884101
Sensor:4;10;1;0;1;0000884101
0;0;3;0;9;read: 5-5-0 s=10,c=1,t=1,pt=7,l=5,sg=0:16.0
Sensor:5;10;1;0;1;16.0
0;0;3;0;9;read: 5-5-0 s=11,c=1,t=0,pt=7,l=5,sg=0:23.0
Sensor:5;11;1;0;0;23.0
connecting to api.thingspeak.com
Requesting URL: /update?key=7BECYAJ5IYGYSIJ5&field1=23.0&field2=2770
0;0;3;0;9;read: 4-4-0 s=11,c=1,t=0,pt=7,l=5,sg=0:20.0
Sensor:4;11;1;0;0;20.0
connecting to api.thingspeak.com
Requesting URL: /update?key=7BECYAJ5IYGYSIJ5&field1=20.0&field2=2769
0;0;3;0;9;read: 4-4-0 s=10,c=1,t=1,pt=5,l=5,sg=0:1099431936
Sensor:4;10;1;0;1;1099431936
0;0;3;0;9;read: 5-5-0 s=10,c=1,t=1,pt=7,l=5,sg=0:16.0
Sensor:5;10;1;0;1;16.0
0;0;3;0;9;read: 3-3-0 s=10,c=1,t=1,pt=7,l=5,sg=0:-0.0
Sensor:3;10;1;0;1;-0.0
0;0;3;0;9;read: 5-5-0 s=11,c=1,t=0,pt=7,l=5,sg=0:23.0
Sensor:5;11;1;0;0;23.0
connecting to api.thingspeak.com
Requesting URL: /update?key=7BECYAJ5IYGYSIJ5&field1=23.0&field2=2769
0;0;3;0;9;read: 4-4-0 s=11,c=1,t=0,pt=6,l=5,sg=0:0000A04101
Sensor:4;11;1;0;0;0000A04101
connecting to api.thingspeak.com
Requesting URL: /update?key=7BECYAJ5IYGYSIJ5&field1=0000A04101&field2=2770
0;0;3;0;9;read: 4-4-0 s=10,c=1,t=1,pt=7,l=5,sg=0:17.0
Sensor:4;10;1;0;1;17.0
0;0;3;0;9;read: 5-5-0 s=10,c=1,t=1,pt=7,l=5,sg=0:16.0
Sensor:5;10;1;0;1;16.0
0;0;3;0;9;read: 3-3-0 s=10,c=1,t=1,pt=7,l=5,sg=0:17.0
Sensor:3;10;1;0;1;17.0
0;0;3;0;9;read: 5-5-0 s=11,c=1,t=0,pt=7,l=5,sg=0:23.0
Sensor:5;11;1;0;0;23.0
connecting to api.thingspeak.com
Requesting URL: /update?key=7BECYAJ5IYGYSIJ5&field1=23.0&field2=2770
0;0;3;0;9;read: 3-3-0 s=11,c=1,t=4,pt=7,l=5,sg=0:18.0
Sensor:3;11;1;0;4;18.0
0;0;3;0;9;read: 5-5-0 s=10,c=1,t=1,pt=7,l=5,sg=0:16.0
Sensor:5;10;1;0;1;16.0
0;0;3;0;9;read: 5-5-0 s=11,c=1,t=0,pt=7,l=5,sg=0:23.0
Sensor:5;11;1;0;0;23.0
connecting to api.thingspeak.com
Requesting URL: /update?key=7BECYAJ5IYGYSIJ5&field1=23.0&field2=2770
0;0;3;0;9;read: 5-5-0 s=234,c=1,t=16,pt=7,l=5,sg=0:23.0
Sensor:5;234;1;0;16;23.0
0;0;3;0;9;read: 4-4-0 s=11,c=1,t=0,pt=7,l=5,sg=0:20.0
Sensor:4;11;1;0;0;20.0
connecting to api.thingspeak.com
Requesting URL: /update?key=7BECYAJ5IYGYSIJ5&field1=20.0&field2=2770
0;0;3;0;9;read: 4-4-0 s=10,c=1,t=1,pt=7,l=5,sg=0:17.0
Sensor:4;10;1;0;1;17.0
0;0;3;0;9;read: 5-5-0 s=10,c=1,t=1,pt=7,l=5,sg=0:16.0
Sensor:5;10;1;0;1;16.0
0;0;3;0;9;read: 4-4-0 s=11,c=1,t=0,pt=7,l=5,sg=0:20.0
Sensor:4;11;1;0;0;20.0
connecting to api.thingspeak.com
Requesting URL: /update?key=7BECYAJ5IYGYSIJ5&field1=20.0&field2=2770
0;0;3;0;9;read: 4-4-0 s=10,c=3,t=1,pt=7,l=5,sg=0:17.0
Sensor:4;10;3;0;1;17.0
0;0;3;0;9;read: 5-5-0 s=11,c=1,t=0,pt=7,l=5,sg=0:23.0
Sensor:5;11;1;0;0;23.0
connecting to api.thingspeak.com
Requesting URL: /update?key=7BECYAJ5IYGYSIJ5&field1=23.0&field2=2770
0;0;3;0;9;read: 3-7-0 s=11,c=1,t=0,pt=7,l=5,sg=0:18.000
Sensor:3;11;1;0;0;18.000
connecting to api.thingspeak.com
Requesting URL: /update?key=7BECYAJ5IYGYSIJ5&field1=18.000&field2=2770
0;0;3;0;9;read: 4-4-0 s=11,c=1,t=0,pt=7,l=5,sg=0:20.0
Sensor:4;11;1;0;0;20.0
connecting to api.thingspeak.com
Requesting URL: /update?key=7BECYAJ5IYGYSIJ5&field1=20.0&field2=2769
0;0;3;0;9;read: 4-4-0 s=10,c=1,t=3,pt=7,l=5,sg=0:17.0
Sensor:4;10;1;0;3;17.0
0;0;3;0;9;read: 5-5-0 s=10,c=1,t=1,pt=7,l=5,sg=0:16.0
Sensor:5;10;1;0;1;16.0
0;0;3;0;9;read: 19-3-0 s=12,c=1,t=1,pt=7,l=5,sg=0:3597162945119403598
Exception (0):
epc1=0x3041c95b epc2=0x00000000 epc3=0x00000000 excvaddr=0x00000000 depc=0x00000000
ctx: cont 
sp: 3ffefb80 end: 3ffefe10 offset: 01a0
>>>stack>>>
3ffefd20:  3ffeeb34 3ffeeaa7 3ffeeaa0 402045f0  
3ffefd30:  0000000c 00000001 00000001 00000007  
3ffefd40:  00000005 00000000 3ffeeaf4 0000001b  
3ffefd50:  00000000 00000000 0000003b 00000010  
3ffefd60:  00000001 00000005 00000001 00000013  
3ffefd70:  00000003 00000000 0000000c 000000e1  
3ffefd80:  00000001 00000004 00000003 40202c18  
3ffefd90:  41a00000 00000008 3ffefdb3 3ffeeaa0  
3ffefda0:  3fffdad0 00000000 3ffeedd8 4020306e  
3ffefdb0:  342e3332 0700a800 feefeffe feefeffe  
3ffefdc0:  feefeffe feefeffe feefeffe feefeffe  
3ffefdd0:  00000014 feefeffe feefeffe feefeffe  
3ffefde0:  00000000 00000000 00000001 3ffeede0  
3ffefdf0:  3fffdad0 00000000 3ffeedd8 402077f8  
3ffefe00:  feefeffe feefeffe 3ffeedf0 40100718  
<<<stack<<<
 ets Jan  8 2013,rst cause:2, boot mode:(3,7)
load 0x4010f000, len 1384, room 16 
tail 8
chksum 0x2d
csum 0x2d
v3de0c112
~ld
⸮
ESP8266 Remote Temp Sensor
Humidity: 21.00 %	Temperature: 20.00 *C Heat index: 23.36 *C Connecting to OPTUS_70E4F0
............................