OK, I think I finally corrected
all my mistakes, so I thought I'd list what I
think I learnt - there may be errors below.
To start
Thanks to Shelte and Nodo
Read
http://otgw.tclcode.com/ several times.
The guys at Nodo Shop are helpful if you are having a problem
Nodo Board Watchdog
The ESP-Easy software can drive this [set Tools>Advanced>WD I2C Address to 38 decimal]. It looks like it times out after about 2 Seconds and resets the ESP8266. The software feeds it from the "Once per second task".
I was using the Jee_Labs ESP-Link software which doesn't know about the watchdog, so it wasn't setting it up. As it wasn't set up, the watchdog didn't trigger
but, when I hung a logic analyzer on the line I saw rare, random spikes to 0Volts - one of these might be long enough to reset or confuse the ESP8266 - I think this was why my ESP-Link based system was having problems. These spikes
might be because the default setup for the I/O line wasn't pull-up - but I did the obvious thing and changed to ESP-Easy
ESP-Easy Reset of the PIC
There is an option in the Serial Server Device software to send a 0.5 second reset signal to the PIC when the ESP8266 boots [set Communication - Serial Server>Reset Target after Boot to GPIO14 (D5) ]
Occasional "SE' Errors from the PIC
Check you haven't allowed logging to Serial Stream...it outputs a regular health message to the PIC [Tools>Advanced>Serial Log Level should be set to "None"]
Thermostat keeps sending the same message to the Gateway
Check the reference voltage is correctly set [OT Monitor>Settings] - mine were borderline and one step on the voltage had the communications working well.
Other
Otmonitor has a command line switch [otmonitor --daemon] that disables the tcl graphics interface but leaves the web-server interface running, it means I can run OTMonitor on my Pi-zero W without it's graphical desktop running.
There is a recent command added to the PIC PR=Q (reason for last reset)
On the NoDo
Rxd PIC -> ESP
TxD ESP -> PIC