Blynk 1.0.1 library
Android
Node-Red (Board Type)
MQTT
Rasp Pi
The mobile Timeline shows many instances (5-10) of Device Offline messages for a day but I only receive one notification. The Web Timeline is correct in that it shows just one Device Offline message for which I received the notification. I have several esp8266 boards but no Blynk code running on them just MQTT. There are a few Device Offline messages that appear with a future date time stamp. I do not notice any disruption with my boards being offline. Is this a bug in the 2.0 software?
Hello. Hard to tell. Mobile has 2 Timelines. 1 timeline for all devices connected to Blynk cloud. Another timeline for the specific device. Which one timeline do you mean?
When you use MQTT & Node-Red, the Blynk server/app knows nothing about the individual devices connected to Node-Red, just the device(s) that you create as Blynk connections in Node-Red.
Depending on the settings that you choose when you do a Deploy in Node-Red, each deployment may be seen by Blynk as a disconnection/reconnection.
Have you done multiple Deploys during this timeframe?
Are you using the latest Blynk IoT contrib, or are you using API calls?
Pete,
I have not done any deploys in this timeframe and I am using Blynk IoT contrib latest 0.2.0
If I make a change and re-deploy on for example a blynk-iot-out-write node I will get a disconnection notice as expected. But it is aware of the individual nodes that are connected to the server. There is a Heartbeat Interval 45 on the web Blynk Console Device Info tab. maybe its related to that. I was able to change the heartbeat interval when using a nodeMCU and running the blynk code on it.
Not sure if this will help but I am sure you know the phrase a picture is worth…
The part about changing heartbeat is when I was using a NodeMCU and Blynk code . I am no longer using that method I am using your method Node-Red MQTT, no Blynk code running on my esp8266 devices.
I think I am little confused. This is what I do know.
I have several esp8266 boards but no Blynk code running on them just MQTT.
Node-Red Blynk IoT contri functions correctly.
Web console shows Offline notifications time date stamp correctly for the ones I actually received
Android mobile app device timeline shows many offline time date stamps for which I did not receive notifications.
But those “offline notifications” aren’t really that are they? If you’re running no no Blynk code on those devices, they don’t have individual Auth token s and Blynk is totally unaware of them, as they aren’t Blynk devices.
If you’ve created a heartbeat MQTT message and are transmitting that to Blynk on a virtual pin for each device then those heartbeats are coming from a single Auth token linked to your single Node-Red Blynk connection, which is your single device as far as Blynk is concerned.
If you’ve configured datastreams for the heartbeat messages to log events to the timeline if a timeout is exceeded then this isn’t the same as a true offline notification. If this is what you’re doing (and I’m still unclear because you’re mixing two different scenarios in your description) then I’d suggest sending heartbeats much more frequently than your timeout setting, so that multiple heartbeats can be missed before an event is logged.
It really would be helpful if you explained a single scenario in detail, and explained the issues connected with that scenario, rather than discussing what happed previously when each device had its own Auth token.