I have had this happen three days in a row now and am rapidly losing faith in the reliability of the TTN system. Yesterday it occurred again after two hours of connection.
When this occurs I am unable to reconnect my end device and have developed these steps to restore my working connection.
Firstly I set up a console browser looking at my gateway traffic. This confirms that end node is alive and transmitting a packet with a single byte payload ever few minutes.
Then I set up another console browser looking at the device data. And I see no traffic.
I then confirm this using my MQTT.fx client that is logged onto my TTN Application and is subscribing to the MQTT Topic.
So I have confirmed that the end node is transmitting valid packets and that those packets are arriving at my gateway but are not being passed on to the TTN Device and TTN Application, so never get to my MQTT.fx client either.
The only way I have found to restore the system is to change the device completely. To do this I delete the existing device and create a new one. Then I copy the new Device Address, Network Session Key and Application Session Key to my Arduino sketch. After recompiling, the device connects and the data flows again.
Till the next time.
Please note that there is no HTTP involved in this other than in the console browsers which are in fact only monitoring proceedings and not participating in them. The connection between the TTN Application and my MQTT.fx client is via TCP but is not using HTTP at all. Even if this connection failed it would not crash the link between my gateway and my TTN Application.
It is all working right now and time will tel how long it continues.