shamblett / mqtt_client

A server and browser based MQTT client for dart
Other
548 stars 176 forks source link

Autoreconnect when mowing from WiFi to GSM network? #302

Closed JacoFourie closed 3 years ago

JacoFourie commented 3 years ago

Hi all. Thank you for this library. I have a question. Let say you connect to a broker in the cloud while you are on a wifi connection at home. And then you get in your car and drive off. The mobile device will switch from wifi to GSM when it looses connection to the wifi AP. I found that the autoreconnect will not reconnect if this happens. Is this a bug or what is the correct way to keep a connection? It does work if you switch the wifi off and on again, but not when moving from one network type to the other.

JacoFourie commented 3 years ago

OK so I did more testing and I found that it does reconnect but takes a very long time if you switch from wifi to mobile network.

shamblett commented 3 years ago

OK, the client itself is of course at the mercy of the Dart/Flutter runtime to pass it network events from the network API, if the runtime doesn't say the socket is reconnected, auto reconnect will retry until it does. It may be of course that in your first scenario the disconnect event is being passed to the client when you turn off the wifi, it may not be doing this immediately in the second scenario, I can't really tell without a log, in any case the client can't do anything about this of course.

What do you mean by 'a very long time', presumably this is in the order of minutes.

JacoFourie commented 3 years ago

Hi @shamblett. Thank you for the reply. I will do some more testing and give you more information about the time etc.. I also use other mqtt clients and in most of them you can set the reconnect time. Can I set it in this library also as I could not see a property to change that? I also see that there are packages to listen for network state changes https://pub.dev/packages/connectivity_plus . I am not sure if you use them in your code to detect a network state change. If not then maybe I could use it and if I see a state change then disconnect and reconnect myself. But I will first do some more testing. Thank you for the library. I work a lot with MQTT and IOT devices. I am new to Flutter and Dart so I am still learning and testing it all out.

JacoFourie commented 3 years ago

OK so I did more tests. If I switch off the wifi and only mobile data is available it will take about 70 seconds to reconnect. If I switch on the the wifi back on it will be around 20 seconds before the data flows again.

amankhantakeoff commented 3 years ago

That's a hell of a lot of time, the user will definitely uninstall the app :)

shamblett commented 3 years ago

OK, this is all very well but no one has proven yet this is a bug in the client or if its the runtime, please post a full log of what happens when you leave wifi on and move to GSM and what happens if you switch the wifi on/off.

JacoFourie commented 3 years ago

Hi @shamblett. I never said it was a bug. I am asking what the the best way to reconnect fast. As I am new to Flutter can you point me into how to get the log file that you would need?

shamblett commented 3 years ago

You need to turn on logging on the client, how you get this off the device I don.t know, I don't use flutter. Many other flutter users have done this as you can see in the closed issues so it is possible. All I'm trying to determine is if there is a problem with the client I can fix. If it is the runtime you need to ask your questions to the Google guys on the dart/flutter lists, not me.

JacoFourie commented 3 years ago

Thank you @shamblett. I will try to see how to get to the log file. How do you switch on the logging? Is there documentation somewhere. I am using a sample app that somebody else build just to test everything out. Do you use network state changes https://pub.dev/packages/connectivity_plus? I found that if I switch between networks and do a disconnect / reconnect it is then very fast. So if I can detect the network state changed when it does then I can do it at my level and then the client does not have to worry about it in my case.

JacoFourie commented 3 years ago

BTW when you say you don't use Flutter, what do you then use Dart for?

JacoFourie commented 3 years ago

OK I see this is how you switch on logging in your sample code.

client.logging(on: true);

shamblett commented 3 years ago

Yes, logging is switched on and off as you have found above. The connectivity plus package you reference is flutter only, the client has to work in both flutter and Dart VM/Browser runtimes so I can't use it. When I say I don't use flutter that's not entirely true, I don't use it on mobile, I have had a look at the new desktop implementation but not got very far with it yet.

I mainly use Dart in the VM on IOT based projects for maker boards such as the raspberry pi for instance, interfacing to cloud infrastructures such as Googles IOT Core service, see here for an example project. That said the MQTT client also has a browser client so you can use it in the browser over web sockets, most of my packages are both server and browser based.

JacoFourie commented 3 years ago

Aaaa OK. I also do IOT Projects using the Raspberry Pi. Here are some I did for farmers.

https://www.youtube.com/watch?v=yAx9-Uk6Lck https://www.youtube.com/watch?v=77uJ1tn2WNc

But now I want to build mobile apps and using Flutter will make it faster as I am one person.

shamblett commented 3 years ago

Not sure what you are saying, as I've said above we can't add flutter only code to the client, so how do you propose to do this?

JacoFourie commented 3 years ago

No, no I just said I also do IOT projects and gave you links to some projects I have done. I use Lazarus and FPC on the Pi. I am now investigating on what platform to use to build mobile apps for my IOT backend etc. I need MQTT so that is why I am playing around with this library to use it on the mobile platform. For web I use NodeJS and Angular on the Pi.

JacoFourie commented 3 years ago

OK I had some time to play again.

Here is the log output. I removed some of the payload data as it was a lot.

I let the app connect and receive 2 topic, then I disabled the wifi leaving only the GMS on. As you can see it does say disconnected,

Disconnected 00008101-000171C401E2001E

and then it will ping for a very long time before it connects again on the GSM side. Not sure if this helps.

Connecting to VM Service at ws://127.0.0.1:51931/6u95s4V23XI=/ws flutter: EXAMPLE::Mosquitto client connecting.... flutter: EXAMPLE::Mosquitto start client connecting.... flutter: 1-2021-07-30 21:10:37.700148 -- MqttClient::connect - keep alive is enabled with a value of 20 seconds flutter: 1-2021-07-30 21:10:37.701127 -- MqttConnectionKeepAlive:: initialised with a keep alive value of 20 seconds flutter: 1-2021-07-30 21:10:37.701511 -- MqttConnectionHandlerBase::connect - server x.x.x.x, port 1883 flutter: 1-2021-07-30 21:10:37.702096 -- SynchronousMqttServerConnectionHandler::internalConnect entered flutter: 1-2021-07-30 21:10:37.702281 -- SynchronousMqttServerConnectionHandler::internalConnect - initiating connection try 0, auto reconnect in progress false flutter: 1-2021-07-30 21:10:37.702371 -- SynchronousMqttServerConnectionHandler::internalConnect - insecure TCP selected flutter: 1-2021-07-30 21:10:37.702494 -- SynchronousMqttServerConnectionHandler::internalConnect - calling connect flutter: 1-2021-07-30 21:10:37.702687 -- MqttNormalConnection::connect - entered flutter: 1-2021-07-30 21:10:38.062639 -- MqttServerConnection::_startListening flutter: 1-2021-07-30 21:10:38.065651 -- SynchronousMqttServerConnectionHandler::internalConnect - connection complete flutter: 1-2021-07-30 21:10:38.065783 -- SynchronousMqttServerConnectionHandler::internalConnect sending connect message flutter: 1-2021-07-30 21:10:38.066114 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.connect Header: MessageType = MqttMessageType.connect, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 Connect Variable Header: ProtocolName=MQIsdp, ProtocolVersion=3, ConnectFlags=Connect Flags: Reserved1=false, CleanStart=true, WillFlag=true, WillQos=MqttQos.atLeastOnce, WillRetain=false, PasswordFlag=false, UserNameFlag=false, KeepAlive=20 MqttConnectPayload - client identifier is : Flutter_iOS flutter: 1-2021-07-30 21:10:38.075852 -- SynchronousMqttServerConnectionHandler::internalConnect - pre sleep, state = Connection status is connecting with return code of noneSpecified and a disconnection origin of none flutter: 1-2021-07-30 21:10:38.369084 -- MqttConnection::_onData flutter: 1-2021-07-30 21:10:38.379359 -- MqttServerConnection::_onData - message received MQTTMessage of type MqttMessageType.connectAck Header: MessageType = MqttMessageType.connectAck, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 2 Connect Variable Header: TopicNameCompressionResponse={0}, ReturnCode={MqttConnectReturnCode.connectionAccepted} flutter: 1-2021-07-30 21:10:38.382935 -- MqttServerConnection::_onData - message available event fired flutter: 1-2021-07-30 21:10:38.386082 -- MqttConnectionHandlerBase::_connectAckProcessor flutter: 1-2021-07-30 21:10:38.386434 -- MqttConnectionHandlerBase:_connectAckProcessor - state = connected flutter: EXAMPLE::Mosquitto client connected.... flutter: 1-2021-07-30 21:10:38.393143 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.subscribe Header: MessageType = MqttMessageType.subscribe, Duplicate = false, Retain = false, Qos = MqttQos.atLeastOnce, Size = 0 Subscribe Variable Header: MessageIdentifier={1} Payload: Subscription [{1}] {{ Topic={#}, Qos={MqttQos.atLeastOnce} }} flutter: 1-2021-07-30 21:10:38.395187 -- MqttConnectionHandlerBase:: cancelling connect timer flutter: 1-2021-07-30 21:10:38.395650 -- SynchronousMqttServerConnectionHandler::internalConnect - post sleep, state = Connection status is connected with return code of connectionAccepted and a disconnection origin of none flutter: 1-2021-07-30 21:10:38.395776 -- SynchronousMqttServerConnectionHandler::internalConnect exited with state Connection status is connected with return code of connectionAccepted and a disconnection origin of none flutter: 1-2021-07-30 21:10:38.667110 -- MqttConnection::_onData flutter: 1-2021-07-30 21:10:38.671760 -- MqttServerConnection::_onData - message received MQTTMessage of type MqttMessageType.subscribeAck Header: MessageType = MqttMessageType.subscribeAck, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 3 SubscribeAck Variable Header: MessageIdentifier={1} Payload: Qos grants [{1}] {{ Grant={MqttQos.atLeastOnce} }} flutter: 1-2021-07-30 21:10:38.673924 -- MqttServerConnection::_onData - message available event fired flutter: 1-2021-07-30 21:10:38.675758 -- MqttConnectionHandlerBase::messageAvailable - message type is MqttMessageType.subscribeAck flutter: EXAMPLE::Subscription confirmed for topic # flutter: 1-2021-07-30 21:10:39.302126 -- MqttConnection::_onData flutter: 1-2021-07-30 21:10:39.309132 -- MqttServerConnection::_onData - message received MQTTMessage of type MqttMessageType.publish Header: MessageType = MqttMessageType.publish, Duplicate = false, Retain = false, Qos = MqttQos.atLeastOnce, Size = 627 Publish Variable Header: TopicName={Open/Inverter/InverterValues}, MessageIdentifier={1}, VH Length={32} Payload: {595 bytes={<123><34> flutter: 1-2021-07-30 21:10:39.313969 -- MqttServerConnection::_onData - message available event fired flutter: 1-2021-07-30 21:10:39.314425 -- MqttConnectionHandlerBase::messageAvailable - message type is MqttMessageType.publish flutter: 1-2021-07-30 21:10:39.316556 -- PublishingManager::handlePublish - publish received from broker with topic Open/Inverter/InverterValues flutter: 1-2021-07-30 21:10:39.318155 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.publishAck Header: MessageType = MqttMessageType.publishAck, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 PublishAck Variable Header: MessageIdentifier={1} flutter: 1-2021-07-30 21:10:41.790746 -- MqttConnection::_onData flutter: 1-2021-07-30 21:10:41.793385 -- MqttServerConnection::_onData - message received MQTTMessage of type MqttMessageType.publish Header: MessageType = MqttMessageType.publish, Duplicate = false, Retain = false, Qos = MqttQos.atLeastOnce, Size = 627 Publish Variable Header: TopicName={Open/Inverter/InverterValues}, MessageIdentifier={2}, VH Length={32} Payload: {595 bytes={<123><34> flutter: 1-2021-07-30 21:10:41.798902 -- MqttServerConnection::_onData - message available event fired flutter: 1-2021-07-30 21:10:41.799411 -- MqttConnectionHandlerBase::messageAvailable - message type is MqttMessageType.publish flutter: 1-2021-07-30 21:10:41.799831 -- PublishingManager::handlePublish - publish received from broker with topic Open/Inverter/InverterValues flutter: 1-2021-07-30 21:10:41.800599 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.publishAck Header: MessageType = MqttMessageType.publishAck, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 PublishAck Variable Header: MessageIdentifier={2} flutter: 1-2021-07-30 21:10:57.709260 -- MqttConnectionKeepAlive::pingRequired flutter: 1-2021-07-30 21:10:57.710480 -- MqttConnectionKeepAlive::pingRequired - sending ping request flutter: 1-2021-07-30 21:10:57.710720 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.pingRequest Header: MessageType = MqttMessageType.pingRequest, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 flutter: 1-2021-07-30 21:10:57.712089 -- MqttConnectionKeepAlive::pingRequired - restarting ping timer [....] Disconnected 00008101-000171C401E2001E flutter: 1-2021-07-30 21:11:17.719259 -- MqttConnectionKeepAlive::pingRequired flutter: 1-2021-07-30 21:11:17.719819 -- MqttConnectionKeepAlive::pingRequired - sending ping request flutter: 1-2021-07-30 21:11:17.719996 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.pingRequest Header: MessageType = MqttMessageType.pingRequest, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 flutter: 1-2021-07-30 21:11:17.720781 -- MqttConnectionKeepAlive::pingRequired - restarting ping timer flutter: 1-2021-07-30 21:11:37.727600 -- MqttConnectionKeepAlive::pingRequired flutter: 1-2021-07-30 21:11:37.728156 -- MqttConnectionKeepAlive::pingRequired - sending ping request flutter: 1-2021-07-30 21:11:37.728333 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.pingRequest Header: MessageType = MqttMessageType.pingRequest, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 flutter: 1-2021-07-30 21:11:37.729205 -- MqttConnectionKeepAlive::pingRequired - restarting ping timer flutter: 1-2021-07-30 21:11:57.735546 -- MqttConnectionKeepAlive::pingRequired flutter: 1-2021-07-30 21:11:57.736165 -- MqttConnectionKeepAlive::pingRequired - sending ping request flutter: 1-2021-07-30 21:11:57.736376 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.pingRequest Header: MessageType = MqttMessageType.pingRequest, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 flutter: 1-2021-07-30 21:11:57.737138 -- MqttConnectionKeepAlive::pingRequired - restarting ping timer flutter: 1-2021-07-30 21:12:17.743877 -- MqttConnectionKeepAlive::pingRequired flutter: 1-2021-07-30 21:12:17.744444 -- MqttConnectionKeepAlive::pingRequired - sending ping request flutter: 1-2021-07-30 21:12:17.744667 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.pingRequest Header: MessageType = MqttMessageType.pingRequest, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 flutter: 1-2021-07-30 21:12:17.745432 -- MqttConnectionKeepAlive::pingRequired - restarting ping timer flutter: 1-2021-07-30 21:12:37.751989 -- MqttConnectionKeepAlive::pingRequired flutter: 1-2021-07-30 21:12:37.752513 -- MqttConnectionKeepAlive::pingRequired - sending ping request flutter: 1-2021-07-30 21:12:37.752691 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.pingRequest Header: MessageType = MqttMessageType.pingRequest, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 flutter: 1-2021-07-30 21:12:37.753465 -- MqttConnectionKeepAlive::pingRequired - restarting ping timer flutter: 1-2021-07-30 21:12:57.760442 -- MqttConnectionKeepAlive::pingRequired flutter: 1-2021-07-30 21:12:57.761087 -- MqttConnectionKeepAlive::pingRequired - sending ping request flutter: 1-2021-07-30 21:12:57.761262 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.pingRequest Header: MessageType = MqttMessageType.pingRequest, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 flutter: 1-2021-07-30 21:12:57.762035 -- MqttConnectionKeepAlive::pingRequired - restarting ping timer flutter: 1-2021-07-30 21:13:17.769453 -- MqttConnectionKeepAlive::pingRequired flutter: 1-2021-07-30 21:13:17.770031 -- MqttConnectionKeepAlive::pingRequired - sending ping request flutter: 1-2021-07-30 21:13:17.770221 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.pingRequest Header: MessageType = MqttMessageType.pingRequest, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 flutter: 1-2021-07-30 21:13:17.771212 -- MqttConnectionKeepAlive::pingRequired - restarting ping timer flutter: 1-2021-07-30 21:13:37.778412 -- MqttConnectionKeepAlive::pingRequired flutter: 1-2021-07-30 21:13:37.778990 -- MqttConnectionKeepAlive::pingRequired - sending ping request flutter: 1-2021-07-30 21:13:37.779169 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.pingRequest Header: MessageType = MqttMessageType.pingRequest, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 flutter: 1-2021-07-30 21:13:37.779937 -- MqttConnectionKeepAlive::pingRequired - restarting ping timer flutter: 1-2021-07-30 21:13:57.787468 -- MqttConnectionKeepAlive::pingRequired flutter: 1-2021-07-30 21:13:57.788056 -- MqttConnectionKeepAlive::pingRequired - sending ping request flutter: 1-2021-07-30 21:13:57.788232 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.pingRequest Header: MessageType = MqttMessageType.pingRequest, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 flutter: 1-2021-07-30 21:13:57.789165 -- MqttConnectionKeepAlive::pingRequired - restarting ping timer flutter: 1-2021-07-30 21:14:17.796111 -- MqttConnectionKeepAlive::pingRequired flutter: 1-2021-07-30 21:14:17.796665 -- MqttConnectionKeepAlive::pingRequired - sending ping request flutter: 1-2021-07-30 21:14:17.796844 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.pingRequest Header: MessageType = MqttMessageType.pingRequest, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 flutter: 1-2021-07-30 21:14:17.797464 -- MqttConnectionKeepAlive::pingRequired - restarting ping timer flutter: 1-2021-07-30 21:14:37.804087 -- MqttConnectionKeepAlive::pingRequired flutter: 1-2021-07-30 21:14:37.804424 -- MqttConnectionKeepAlive::pingRequired - sending ping request flutter: 1-2021-07-30 21:14:37.804504 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.pingRequest Header: MessageType = MqttMessageType.pingRequest, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 flutter: 1-2021-07-30 21:14:37.804866 -- MqttConnectionKeepAlive::pingRequired - restarting ping timer flutter: 1-2021-07-30 21:14:57.811466 -- MqttConnectionKeepAlive::pingRequired flutter: 1-2021-07-30 21:14:57.812061 -- MqttConnectionKeepAlive::pingRequired - sending ping request flutter: 1-2021-07-30 21:14:57.812240 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.pingRequest Header: MessageType = MqttMessageType.pingRequest, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 flutter: 1-2021-07-30 21:14:57.812952 -- MqttConnectionKeepAlive::pingRequired - restarting ping timer flutter: 1-2021-07-30 21:15:01.422015 -- MqttConnectionBase::_onError - calling disconnected callback flutter: 1-2021-07-30 21:15:01.425284 -- MqttConnectionBase::_onDone - calling disconnected callback flutter: 1-2021-07-30 21:15:01.427021 -- MqttConnectionHandlerBase::autoReconnect entered flutter: 1-2021-07-30 21:15:01.427685 -- MqttConnectionHandlerBase::autoReconnect - attempting reconnection flutter: 1-2021-07-30 21:15:01.427993 -- MqttConnectionHandlerBase::connect - server x.x.x.x, port 1883 flutter: 1-2021-07-30 21:15:01.428094 -- SynchronousMqttServerConnectionHandler::internalConnect entered flutter: 1-2021-07-30 21:15:01.428274 -- SynchronousMqttServerConnectionHandler::internalConnect - initiating connection try 0, auto reconnect in progress true flutter: 1-2021-07-30 21:15:01.428443 -- SynchronousMqttServerConnectionHandler::internalConnect - calling connectAuto flutter: 1-2021-07-30 21:15:01.429520 -- MqttNormalConnection::connectAuto - entered flutter: 1-2021-07-30 21:15:01.430525 -- MqttConnectionHandlerBase::autoReconnect entered flutter: 1-2021-07-30 21:15:01.840360 -- MqttServerConnection::_startListening flutter: 1-2021-07-30 21:15:01.840903 -- SynchronousMqttServerConnectionHandler::internalConnect - connection complete flutter: 1-2021-07-30 21:15:01.841176 -- SynchronousMqttServerConnectionHandler::internalConnect sending connect message flutter: 1-2021-07-30 21:15:01.841400 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.connect Header: MessageType = MqttMessageType.connect, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 53 Connect Variable Header: ProtocolName=MQIsdp, ProtocolVersion=3, ConnectFlags=Connect Flags: Reserved1=false, CleanStart=true, WillFlag=true, WillQos=MqttQos.atLeastOnce, WillRetain=false, PasswordFlag=false, UserNameFlag=false, KeepAlive=20 MqttConnectPayload - client identifier is : Flutter_iOS flutter: 1-2021-07-30 21:15:01.843314 -- SynchronousMqttServerConnectionHandler::internalConnect - pre sleep, state = Connection status is connecting with return code of noneSpecified and a disconnection origin of none flutter: 1-2021-07-30 21:15:02.082494 -- MqttConnection::_onData flutter: 1-2021-07-30 21:15:02.082948 -- MqttServerConnection::_onData - message received MQTTMessage of type MqttMessageType.connectAck Header: MessageType = MqttMessageType.connectAck, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 2 Connect Variable Header: TopicNameCompressionResponse={0}, ReturnCode={MqttConnectReturnCode.connectionAccepted} flutter: 1-2021-07-30 21:15:02.083198 -- MqttServerConnection::_onData - message available event fired flutter: 1-2021-07-30 21:15:02.083506 -- MqttConnectionHandlerBase::_connectAckProcessor flutter: 1-2021-07-30 21:15:02.083601 -- MqttConnectionHandlerBase:_connectAckProcessor - state = connected flutter: EXAMPLE::Mosquitto client connected.... flutter: 1-2021-07-30 21:15:02.084113 -- MqttConnectionHandlerBase:: cancelling connect timer flutter: 1-2021-07-30 21:15:02.084471 -- SynchronousMqttServerConnectionHandler::internalConnect - post sleep, state = Connection status is connected with return code of connectionAccepted and a disconnection origin of none flutter: 1-2021-07-30 21:15:02.084681 -- SynchronousMqttServerConnectionHandler::internalConnect exited with state Connection status is connected with return code of connectionAccepted and a disconnection origin of none flutter: 1-2021-07-30 21:15:02.085670 -- MqttConnectionHandlerBase::autoReconnect - auto reconnect complete flutter: 1-2021-07-30 21:15:02.087004 -- Subscriptionsmanager::_resubscribe - resubscribing from auto reconnect true flutter: 1-2021-07-30 21:15:02.087390 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.subscribe Header: MessageType = MqttMessageType.subscribe, Duplicate = false, Retain = false, Qos = MqttQos.atLeastOnce, Size = 0 Subscribe Variable Header: MessageIdentifier={2} Payload: Subscription [{1}] {{ Topic={#}, Qos={MqttQos.atLeastOnce} }} flutter: 1-2021-07-30 21:15:02.321736 -- MqttConnection::_onData flutter: 1-2021-07-30 21:15:02.322428 -- MqttServerConnection::_onData - message received MQTTMessage of type MqttMessageType.subscribeAck Header: MessageType = MqttMessageType.subscribeAck, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 3 SubscribeAck Variable Header: MessageIdentifier={2} Payload: Qos grants [{1}] {{ Grant={MqttQos.atLeastOnce} }} flutter: 1-2021-07-30 21:15:02.322975 -- MqttServerConnection::_onData - message available event fired flutter: 1-2021-07-30 21:15:02.323536 -- MqttConnectionHandlerBase::messageAvailable - message type is MqttMessageType.subscribeAck flutter: EXAMPLE::Subscription confirmed for topic # flutter: 1-2021-07-30 21:15:02.717342 -- MqttConnection::_onData flutter: 1-2021-07-30 21:15:02.719426 -- MqttServerConnection::_onData - message received MQTTMessage of type MqttMessageType.publish Header: MessageType = MqttMessageType.publish, Duplicate = false, Retain = false, Qos = MqttQos.atLeastOnce, Size = 626 Publish Variable Header: TopicName={Open/Inverter/InverterValues}, MessageIdentifier={1}, VH Length={32} Payload: {594 bytes={<123><34> flutter: 1-2021-07-30 21:15:02.722243 -- MqttServerConnection::_onData - message available event fired flutter: 1-2021-07-30 21:15:02.722733 -- MqttConnectionHandlerBase::messageAvailable - message type is MqttMessageType.publish flutter: 1-2021-07-30 21:15:02.723212 -- PublishingManager::handlePublish - publish received from broker with topic Open/Inverter/InverterValues flutter: 1-2021-07-30 21:15:02.723689 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.publishAck Header: MessageType = MqttMessageType.publishAck, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 PublishAck Variable Header: MessageIdentifier={1} flutter: 1-2021-07-30 21:15:05.385321 -- MqttConnection::_onData flutter: 1-2021-07-30 21:15:05.387700 -- MqttServerConnection::_onData - message received MQTTMessage of type MqttMessageType.publish Header: MessageType = MqttMessageType.publish, Duplicate = false, Retain = false, Qos = MqttQos.atLeastOnce, Size = 625 Publish Variable Header: TopicName={Open/Inverter/InverterValues}, MessageIdentifier={2}, VH Length={32} Payload: {593 bytes={<123><34> flutter: 1-2021-07-30 21:15:05.390333 -- MqttServerConnection::_onData - message available event fired flutter: 1-2021-07-30 21:15:05.390830 -- MqttConnectionHandlerBase::messageAvailable - message type is MqttMessageType.publish flutter: 1-2021-07-30 21:15:05.391147 -- PublishingManager::handlePublish - publish received from broker with topic Open/Inverter/InverterValues flutter: 1-2021-07-30 21:15:05.391400 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.publishAck Header: MessageType = MqttMessageType.publishAck, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 PublishAck Variable Header: MessageIdentifier={2} flutter: 1-2021-07-30 21:15:07.925154 -- MqttConnection::_onData flutter: 1-2021-07-30 21:15:07.927433 -- MqttServerConnection::_onData - message received MQTTMessage of type MqttMessageType.publish Header: MessageType = MqttMessageType.publish, Duplicate = false, Retain = false, Qos = MqttQos.atLeastOnce, Size = 626 Publish Variable Header: TopicName={Open/Inverter/InverterValues}, MessageIdentifier={3}, VH Length={32} Payload: {594 bytes={<123><34> flutter: 1-2021-07-30 21:15:07.929480 -- MqttServerConnection::_onData - message available event fired flutter: 1-2021-07-30 21:15:07.929889 -- MqttConnectionHandlerBase::messageAvailable - message type is MqttMessageType.publish flutter: 1-2021-07-30 21:15:07.930323 -- PublishingManager::handlePublish - publish received from broker with topic Open/Inverter/InverterValues flutter: 1-2021-07-30 21:15:07.930786 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.publishAck Header: MessageType = MqttMessageType.publishAck, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 PublishAck Variable Header: MessageIdentifier={3} flutter: 1-2021-07-30 21:15:10.558558 -- MqttConnection::_onData flutter: 1-2021-07-30 21:15:10.560692 -- MqttServerConnection::_onData - message received MQTTMessage of type MqttMessageType.publish Header: MessageType = MqttMessageType.publish, Duplicate = false, Retain = false, Qos = MqttQos.atLeastOnce, Size = 627 Publish Variable Header: TopicName={Open/Inverter/InverterValues}, MessageIdentifier={4}, VH Length={32} Payload: {595 bytes={<123><34> flutter: 1-2021-07-30 21:15:10.563081 -- MqttServerConnection::_onData - message available event fired flutter: 1-2021-07-30 21:15:10.563821 -- MqttConnectionHandlerBase::messageAvailable - message type is MqttMessageType.publish flutter: 1-2021-07-30 21:15:10.564681 -- PublishingManager::handlePublish - publish received from broker with topic Open/Inverter/InverterValues flutter: 1-2021-07-30 21:15:10.565047 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.publishAck Header: MessageType = MqttMessageType.publishAck, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 PublishAck Variable Header: MessageIdentifier={4} flutter: 1-2021-07-30 21:15:13.063411 -- MqttConnection::_onData flutter: 1-2021-07-30 21:15:13.066282 -- MqttServerConnection::_onData - message received MQTTMessage of type MqttMessageType.publish Header: MessageType = MqttMessageType.publish, Duplicate = false, Retain = false, Qos = MqttQos.atLeastOnce, Size = 627 Publish Variable Header: TopicName={Open/Inverter/InverterValues}, MessageIdentifier={5}, VH Length={32} Payload: {595 bytes={<123><125> flutter: 1-2021-07-30 21:15:13.071832 -- MqttServerConnection::_onData - message available event fired flutter: 1-2021-07-30 21:15:13.072413 -- MqttConnectionHandlerBase::messageAvailable - message type is MqttMessageType.publish flutter: 1-2021-07-30 21:15:13.072766 -- PublishingManager::handlePublish - publish received from broker with topic Open/Inverter/InverterValues flutter: 1-2021-07-30 21:15:13.073484 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.publishAck Header: MessageType = MqttMessageType.publishAck, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 PublishAck Variable Header: MessageIdentifier={5} flutter: 1-2021-07-30 21:15:15.587283 -- MqttConnection::_onData flutter: 1-2021-07-30 21:15:15.588836 -- MqttServerConnection::_onData - message received MQTTMessage of type MqttMessageType.publish Header: MessageType = MqttMessageType.publish, Duplicate = false, Retain = false, Qos = MqttQos.atLeastOnce, Size = 627 Publish Variable Header: TopicName={Open/Inverter/InverterValues}, MessageIdentifier={6}, VH Length={32} Payload: {595 bytes={<123><34> flutter: 1-2021-07-30 21:15:15.591089 -- MqttServerConnection::_onData - message available event fired flutter: 1-2021-07-30 21:15:15.591546 -- MqttConnectionHandlerBase::messageAvailable - message type is MqttMessageType.publish flutter: 1-2021-07-30 21:15:15.591910 -- PublishingManager::handlePublish - publish received from broker with topic Open/Inverter/InverterValues flutter: 1-2021-07-30 21:15:15.592407 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.publishAck Header: MessageType = MqttMessageType.publishAck, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 PublishAck Variable Header: MessageIdentifier={6} flutter: 1-2021-07-30 21:15:17.819743 -- MqttConnectionKeepAlive::pingRequired flutter: 1-2021-07-30 21:15:17.820199 -- MqttConnectionKeepAlive::pingRequired - sending ping request flutter: 1-2021-07-30 21:15:17.820368 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.pingRequest Header: MessageType = MqttMessageType.pingRequest, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 flutter: 1-2021-07-30 21:15:17.821394 -- MqttConnectionKeepAlive::pingRequired - restarting ping timer flutter: 1-2021-07-30 21:15:18.103092 -- MqttConnection::_onData flutter: 1-2021-07-30 21:15:18.104170 -- MqttServerConnection::_onData - message received MQTTMessage of type MqttMessageType.pingResponse Header: MessageType = MqttMessageType.pingResponse, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 flutter: 1-2021-07-30 21:15:18.104972 -- MqttServerConnection::_onData - message available event fired flutter: 1-2021-07-30 21:15:18.105420 -- MqttConnectionHandlerBase::messageAvailable - message type is MqttMessageType.pingResponse flutter: 1-2021-07-30 21:15:18.106416 -- MqttConnectionKeepAlive::pingResponseReceived flutter: 1-2021-07-30 21:15:18.147879 -- MqttConnection::_onData flutter: 1-2021-07-30 21:15:18.149170 -- MqttServerConnection::_onData - message received MQTTMessage of type MqttMessageType.publish Header: MessageType = MqttMessageType.publish, Duplicate = false, Retain = false, Qos = MqttQos.atLeastOnce, Size = 627 Publish Variable Header: TopicName={Open/Inverter/InverterValues}, MessageIdentifier={7}, VH Length={32} Payload: {595 bytes={<123><34> flutter: 1-2021-07-30 21:15:18.151284 -- MqttServerConnection::_onData - message available event fired flutter: 1-2021-07-30 21:15:18.151709 -- MqttConnectionHandlerBase::messageAvailable - message type is MqttMessageType.publish flutter: 1-2021-07-30 21:15:18.151954 -- PublishingManager::handlePublish - publish received from broker with topic Open/Inverter/InverterValues flutter: 1-2021-07-30 21:15:18.152189 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.publishAck Header: MessageType = MqttMessageType.publishAck, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 PublishAck Variable Header: MessageIdentifier={7} flutter: 1-2021-07-30 21:15:20.825455 -- MqttConnection::_onData flutter: 1-2021-07-30 21:15:20.826851 -- MqttServerConnection::_onData - message received MQTTMessage of type MqttMessageType.publish Header: MessageType = MqttMessageType.publish, Duplicate = false, Retain = false, Qos = MqttQos.atLeastOnce, Size = 627 Publish Variable Header: TopicName={Open/Inverter/InverterValues}, MessageIdentifier={8}, VH Length={32} Payload: {595 bytes={<123><34> flutter: 1-2021-07-30 21:15:20.829258 -- MqttServerConnection::_onData - message available event fired flutter: 1-2021-07-30 21:15:20.829820 -- MqttConnectionHandlerBase::messageAvailable - message type is MqttMessageType.publish flutter: 1-2021-07-30 21:15:20.830211 -- PublishingManager::handlePublish - publish received from broker with topic Open/Inverter/InverterValues flutter: 1-2021-07-30 21:15:20.830643 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.publishAck Header: MessageType = MqttMessageType.publishAck, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 PublishAck Variable Header: MessageIdentifier={8} flutter: 1-2021-07-30 21:15:24.043349 -- MqttConnection::_onData flutter: 1-2021-07-30 21:15:24.044537 -- MqttServerConnection::_onData - message received MQTTMessage of type MqttMessageType.publish Header: MessageType = MqttMessageType.publish, Duplicate = false, Retain = false, Qos = MqttQos.atLeastOnce, Size = 627 Publish Variable Header: TopicName={Open/Inverter/InverterValues}, MessageIdentifier={9}, VH Length={32} Payload: {595 bytes={<123><34> flutter: 1-2021-07-30 21:15:24.046471 -- MqttServerConnection::_onData - message available event fired flutter: 1-2021-07-30 21:15:24.046900 -- MqttConnectionHandlerBase::messageAvailable - message type is MqttMessageType.publish flutter: 1-2021-07-30 21:15:24.047194 -- PublishingManager::handlePublish - publish received from broker with topic Open/Inverter/InverterValues flutter: 1-2021-07-30 21:15:24.047476 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.publishAck Header: MessageType = MqttMessageType.publishAck, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 PublishAck Variable Header: MessageIdentifier={9} flutter: 1-2021-07-30 21:15:26.697393 -- MqttConnection::_onData flutter: 1-2021-07-30 21:15:26.699013 -- MqttServerConnection::_onData - message received MQTTMessage of type MqttMessageType.publish Header: MessageType = MqttMessageType.publish, Duplicate = false, Retain = false, Qos = MqttQos.atLeastOnce, Size = 627 Publish Variable Header: TopicName={Open/Inverter/InverterValues}, MessageIdentifier={10}, VH Length={32} Payload: {595 bytes={<123><34> flutter: 1-2021-07-30 21:15:26.701761 -- MqttServerConnection::_onData - message available event fired flutter: 1-2021-07-30 21:15:26.702260 -- MqttConnectionHandlerBase::messageAvailable - message type is MqttMessageType.publish flutter: 1-2021-07-30 21:15:26.702512 -- PublishingManager::handlePublish - publish received from broker with topic Open/Inverter/InverterValues flutter: 1-2021-07-30 21:15:26.702834 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.publishAck Header: MessageType = MqttMessageType.publishAck, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 PublishAck Variable Header: MessageIdentifier={10} Application finished. Exited (sigterm)

shamblett commented 3 years ago

Pinging seems to start here -

flutter: 1-2021-07-30 21:10:57.710480 -- MqttConnectionKeepAlive::pingRequired - sending ping request

Until we get here where we pick up the disconnect and go into auto reconnect -

flutter: 1-2021-07-30 21:15:01.422015 -- MqttConnectionBase::_onError - calling disconnected callback
flutter: 1-2021-07-30 21:15:01.425284 -- MqttConnectionBase::_onDone - calling disconnected callback

We finally re connect here -

flutter: 1-2021-07-30 21:15:02.085670 -- MqttConnectionHandlerBase::autoReconnect - auto reconnect complete

So in this case it took approx 4 mins for the runtime to pass the network disconnect to the client, in this period the client thinks its connected as it knows no different and carries on pinging. This is the effect I was alluding to above, its the runtime that dictates the clients behaviour.

However, have a look at issue #299, version 9.4.1 of the client now allows the setting of a timeout period for ping responses, if the broker does not respond to a ping request in this period then the client will disconnect itself and if auto reconnect is set then it will go into the auto reconnect sequence.

I can see two outcomes here, either the force disconnect and re instantiation of a new socket will work now you are on GSM so it will reconnect almost immediately, or it won't and the the extended ping period will just be replaced with an extended auto reconnect period, it would be interesting to see what happens.

The client setting you want is called 'disconnectOnNoResponsePeriod', the value you set of course depends on how quickly your broker responds with a ping response, in my experience this is a matter of 100's of milliseconds so a value of 2 or 3 seconds should suffice.

Your comment above seems to suggest that the disconnect appears first then the pinging sequence starts, this is not what I'm seeing in the log above unless I've missed something that is.

JacoFourie commented 3 years ago

Hi. I will have a look at that setting and see what it does.

I see a disconnected n the log file here. Where does that Disconnected come from as it seems to say that after the first ping after I switched off the WiFi.

Header: MessageType = MqttMessageType.pingRequest, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 flutter: 1-2021-07-30 21:10:57.712089 -- MqttConnectionKeepAlive::pingRequired - restarting ping timer [....] Disconnected 00008101-000171C401E2001E flutter: 1-2021-07-30 21:11:17.719259 -- MqttConnectionKeepAlive::pingRequired flutter: 1-2021-07-30 21:11:17.719819 -- MqttConnectionKeepAlive::pingRequired - sending ping request

shamblett commented 3 years ago

Is not coming from the client, it must be platform logging of some kind, maybe to tell you the WiFi is disconnected, either way the flutter runtime is not being informed of this at this time.

JacoFourie commented 3 years ago

OK I tested now with that setting and it does not seem to work. It will say disconnecting all the time but it does not seem to really disconnect. I first ran a test where I would connect let the data come in and then switch off the wifi. Then it will sit again for about 4 minutes stating it is disconnecting but not reconnecting.

I then did a test where I will connect to the broker on wifi, then switch off the wifi and then disconnect the client by hitting a button and then reconnect again using a button immediately after disconnecting. This works well. So I am not sure but your auto disconnect does not seem to work here at this time.


flutter: EXAMPLE::Mosquitto client connecting.... flutter: EXAMPLE::Mosquitto start client connecting.... flutter: 1-2021-07-31 13:48:36.122910 -- MqttClient::connect - keep alive is enabled with a value of 5 seconds flutter: 1-2021-07-31 13:48:36.124049 -- MqttConnectionKeepAlive:: Initialised with a keep alive value of 5 seconds flutter: 1-2021-07-31 13:48:36.124083 -- MqttConnectionKeepAlive:: Disconnect on no ping response is enabled with a value of 1 seconds flutter: 1-2021-07-31 13:48:36.124487 -- MqttConnectionHandlerBase::connect - server x.x.x.x, port 1883 flutter: 1-2021-07-31 13:48:36.125102 -- SynchronousMqttServerConnectionHandler::internalConnect entered flutter: 1-2021-07-31 13:48:36.125176 -- SynchronousMqttServerConnectionHandler::internalConnect - initiating connection try 0, auto reconnect in progress false flutter: 1-2021-07-31 13:48:36.125260 -- SynchronousMqttServerConnectionHandler::internalConnect - insecure TCP selected flutter: 1-2021-07-31 13:48:36.125385 -- SynchronousMqttServerConnectionHandler::internalConnect - calling connect flutter: 1-2021-07-31 13:48:36.125585 -- MqttNormalConnection::connect - entered flutter: 1-2021-07-31 13:48:36.554389 -- MqttServerConnection::_startListening flutter: 1-2021-07-31 13:48:36.558049 -- SynchronousMqttServerConnectionHandler::internalConnect - connection complete flutter: 1-2021-07-31 13:48:36.558230 -- SynchronousMqttServerConnectionHandler::internalConnect sending connect message flutter: 1-2021-07-31 13:48:36.558702 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.connect Header: MessageType = MqttMessageType.connect, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 Connect Variable Header: ProtocolName=MQIsdp, ProtocolVersion=3, ConnectFlags=Connect Flags: Reserved1=false, CleanStart=true, WillFlag=true, WillQos=MqttQos.atLeastOnce, WillRetain=false, PasswordFlag=false, UserNameFlag=false, KeepAlive=5 MqttConnectPayload - client identifier is : Flutter_iOS flutter: 1-2021-07-31 13:48:36.568879 -- SynchronousMqttServerConnectionHandler::internalConnect - pre sleep, state = Connection status is connecting with return code of noneSpecified and a disconnection origin of none flutter: 1-2021-07-31 13:48:36.865105 -- MqttConnection::_onData flutter: 1-2021-07-31 13:48:36.872672 -- MqttServerConnection::_onData - message received MQTTMessage of type MqttMessageType.connectAck Header: MessageType = MqttMessageType.connectAck, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 2 Connect Variable Header: TopicNameCompressionResponse={0}, ReturnCode={MqttConnectReturnCode.connectionAccepted} flutter: 1-2021-07-31 13:48:36.875889 -- MqttServerConnection::_onData - message available event fired flutter: 1-2021-07-31 13:48:36.878557 -- MqttConnectionHandlerBase::_connectAckProcessor flutter: 1-2021-07-31 13:48:36.878895 -- MqttConnectionHandlerBase:_connectAckProcessor - state = connected flutter: EXAMPLE::Mosquitto client connected.... flutter: 1-2021-07-31 13:48:36.884789 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.subscribe Header: MessageType = MqttMessageType.subscribe, Duplicate = false, Retain = false, Qos = MqttQos.atLeastOnce, Size = 0 Subscribe Variable Header: MessageIdentifier={1} Payload: Subscription [{1}] {{ Topic={#}, Qos={MqttQos.atLeastOnce} }} flutter: 1-2021-07-31 13:48:36.886504 -- MqttConnectionHandlerBase:: cancelling connect timer flutter: 1-2021-07-31 13:48:36.886831 -- SynchronousMqttServerConnectionHandler::internalConnect - post sleep, state = Connection status is connected with return code of connectionAccepted and a disconnection origin of none flutter: 1-2021-07-31 13:48:36.886935 -- SynchronousMqttServerConnectionHandler::internalConnect exited with state Connection status is connected with return code of connectionAccepted and a disconnection origin of none flutter: 1-2021-07-31 13:48:37.190213 -- MqttConnection::_onData flutter: 1-2021-07-31 13:48:37.195188 -- MqttServerConnection::_onData - message received MQTTMessage of type MqttMessageType.subscribeAck Header: MessageType = MqttMessageType.subscribeAck, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 3 SubscribeAck Variable Header: MessageIdentifier={1} Payload: Qos grants [{1}] {{ Grant={MqttQos.atLeastOnce} }} flutter: 1-2021-07-31 13:48:37.197461 -- MqttServerConnection::_onData - message available event fired flutter: 1-2021-07-31 13:48:37.198746 -- MqttConnectionHandlerBase::messageAvailable - message type is MqttMessageType.subscribeAck flutter: EXAMPLE::Subscription confirmed for topic # flutter: 1-2021-07-31 13:48:39.727531 -- MqttConnection::_onData flutter: 1-2021-07-31 13:48:39.735746 -- MqttServerConnection::_onData - message received MQTTMessage of type MqttMessageType.publish Header: MessageType = MqttMessageType.publish, Duplicate = false, Retain = false, Qos = MqttQos.atLeastOnce, Size = 659 Publish Variable Header: TopicName={Open/Inverter/InverterValues}, MessageIdentifier={1}, VH Length={32} Payload: {627 bytes={<123><34>< flutter: 1-2021-07-31 13:48:39.739994 -- MqttServerConnection::_onData - message available event fired flutter: 1-2021-07-31 13:48:39.740356 -- MqttConnectionHandlerBase::messageAvailable - message type is MqttMessageType.publish flutter: 1-2021-07-31 13:48:39.742444 -- PublishingManager::handlePublish - publish received from broker with topic Open/Inverter/InverterValues flutter: 1-2021-07-31 13:48:39.744136 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.publishAck Header: MessageType = MqttMessageType.publishAck, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 PublishAck Variable Header: MessageIdentifier={1} flutter: 1-2021-07-31 13:48:41.132245 -- MqttConnectionKeepAlive::pingRequired flutter: 1-2021-07-31 13:48:41.133495 -- MqttConnectionKeepAlive::pingRequired - sending ping request flutter: 1-2021-07-31 13:48:41.133823 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.pingRequest Header: MessageType = MqttMessageType.pingRequest, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 flutter: 1-2021-07-31 13:48:41.135207 -- MqttConnectionKeepAlive::pingRequired - restarting ping timer flutter: 1-2021-07-31 13:48:41.136085 -- MqttConnectionKeepAlive::pingRequired - starting disconnect timer flutter: 1-2021-07-31 13:48:41.449606 -- MqttConnection::_onData flutter: 1-2021-07-31 13:48:41.450595 -- MqttServerConnection::_onData - message received MQTTMessage of type MqttMessageType.pingResponse Header: MessageType = MqttMessageType.pingResponse, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 flutter: 1-2021-07-31 13:48:41.451361 -- MqttServerConnection::_onData - message available event fired flutter: 1-2021-07-31 13:48:41.451835 -- MqttConnectionHandlerBase::messageAvailable - message type is MqttMessageType.pingResponse flutter: 1-2021-07-31 13:48:41.453060 -- MqttConnectionKeepAlive::pingResponseReceived flutter: 1-2021-07-31 13:48:42.573633 -- MqttConnection::_onData flutter: 1-2021-07-31 13:48:42.576725 -- MqttServerConnection::_onData - message received MQTTMessage of type MqttMessageType.publish Header: MessageType = MqttMessageType.publish, Duplicate = false, Retain = false, Qos = MqttQos.atLeastOnce, Size = 657 Publish Variable Header: TopicName={Open/Inverter/InverterValues}, MessageIdentifier={2}, VH Length={32} Payload: {625 bytes={<123><34> flutter: 1-2021-07-31 13:48:42.580010 -- MqttServerConnection::_onData - message available event fired flutter: 1-2021-07-31 13:48:42.580496 -- MqttConnectionHandlerBase::messageAvailable - message type is MqttMessageType.publish flutter: 1-2021-07-31 13:48:42.580800 -- PublishingManager::handlePublish - publish received from broker with topic Open/Inverter/InverterValues flutter: 1-2021-07-31 13:48:42.581426 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.publishAck Header: MessageType = MqttMessageType.publishAck, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 PublishAck Variable Header: MessageIdentifier={2} flutter: 1-2021-07-31 13:48:46.141995 -- MqttConnectionKeepAlive::pingRequired flutter: 1-2021-07-31 13:48:46.142563 -- MqttConnectionKeepAlive::pingRequired - sending ping request flutter: 1-2021-07-31 13:48:46.142745 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.pingRequest Header: MessageType = MqttMessageType.pingRequest, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 flutter: 1-2021-07-31 13:48:46.144121 -- MqttConnectionKeepAlive::pingRequired - restarting ping timer flutter: 1-2021-07-31 13:48:46.144699 -- MqttConnectionKeepAlive::pingRequired - restarting disconnect timer flutter: 1-2021-07-31 13:48:47.152413 -- MqttConnectionKeepAlive::noPingResponseReceived - disconnecting flutter: 1-2021-07-31 13:48:51.150208 -- MqttConnectionKeepAlive::pingRequired flutter: 1-2021-07-31 13:48:51.150744 -- MqttConnectionKeepAlive::pingRequired - sending ping request flutter: 1-2021-07-31 13:48:51.150983 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.pingRequest Header: MessageType = MqttMessageType.pingRequest, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 flutter: 1-2021-07-31 13:48:51.151733 -- MqttConnectionKeepAlive::pingRequired - restarting ping timer flutter: 1-2021-07-31 13:48:51.152149 -- MqttConnectionKeepAlive::pingRequired - restarting disconnect timer flutter: 1-2021-07-31 13:48:52.158352 -- MqttConnectionKeepAlive::noPingResponseReceived - disconnecting flutter: 1-2021-07-31 13:48:56.158341 -- MqttConnectionKeepAlive::pingRequired flutter: 1-2021-07-31 13:48:56.158835 -- MqttConnectionKeepAlive::pingRequired - sending ping request flutter: 1-2021-07-31 13:48:56.159012 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.pingRequest Header: MessageType = MqttMessageType.pingRequest, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 flutter: 1-2021-07-31 13:48:56.159821 -- MqttConnectionKeepAlive::pingRequired - restarting ping timer flutter: 1-2021-07-31 13:48:56.160342 -- MqttConnectionKeepAlive::pingRequired - restarting disconnect timer flutter: 1-2021-07-31 13:48:57.167423 -- MqttConnectionKeepAlive::noPingResponseReceived - disconnecting [....] Disconnected 00008101-000171C401E2001E flutter: 1-2021-07-31 13:49:01.166227 -- MqttConnectionKeepAlive::pingRequired flutter: 1-2021-07-31 13:49:01.166673 -- MqttConnectionKeepAlive::pingRequired - sending ping request flutter: 1-2021-07-31 13:49:01.166870 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.pingRequest Header: MessageType = MqttMessageType.pingRequest, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 flutter: 1-2021-07-31 13:49:01.167754 -- MqttConnectionKeepAlive::pingRequired - restarting ping timer flutter: 1-2021-07-31 13:49:01.168210 -- MqttConnectionKeepAlive::pingRequired - restarting disconnect timer flutter: 1-2021-07-31 13:49:02.174476 -- MqttConnectionKeepAlive::noPingResponseReceived - disconnecting flutter: 1-2021-07-31 13:49:06.174262 -- MqttConnectionKeepAlive::pingRequired flutter: 1-2021-07-31 13:49:06.174755 -- MqttConnectionKeepAlive::pingRequired - sending ping request flutter: 1-2021-07-31 13:49:06.174989 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.pingRequest Header: MessageType = MqttMessageType.pingRequest, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 flutter: 1-2021-07-31 13:49:06.176012 -- MqttConnectionKeepAlive::pingRequired - restarting ping timer flutter: 1-2021-07-31 13:49:06.176426 -- MqttConnectionKeepAlive::pingRequired - restarting disconnect timer flutter: 1-2021-07-31 13:49:07.183517 -- MqttConnectionKeepAlive::noPingResponseReceived - disconnecting flutter: 1-2021-07-31 13:49:11.182255 -- MqttConnectionKeepAlive::pingRequired flutter: 1-2021-07-31 13:49:11.182781 -- MqttConnectionKeepAlive::pingRequired - sending ping request flutter: 1-2021-07-31 13:49:11.183129 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.pingRequest Header: MessageType = MqttMessageType.pingRequest, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 flutter: 1-2021-07-31 13:49:11.184212 -- MqttConnectionKeepAlive::pingRequired - restarting ping timer flutter: 1-2021-07-31 13:49:11.184528 -- MqttConnectionKeepAlive::pingRequired - restarting disconnect timer flutter: 1-2021-07-31 13:49:12.191751 -- MqttConnectionKeepAlive::noPingResponseReceived - disconnecting flutter: 1-2021-07-31 13:49:16.190722 -- MqttConnectionKeepAlive::pingRequired flutter: 1-2021-07-31 13:49:16.191186 -- MqttConnectionKeepAlive::pingRequired - sending ping request flutter: 1-2021-07-31 13:49:16.191357 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.pingRequest Header: MessageType = MqttMessageType.pingRequest, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 flutter: 1-2021-07-31 13:49:16.192298 -- MqttConnectionKeepAlive::pingRequired - restarting ping timer flutter: 1-2021-07-31 13:49:16.192833 -- MqttConnectionKeepAlive::pingRequired - restarting disconnect timer flutter: 1-2021-07-31 13:49:17.199949 -- MqttConnectionKeepAlive::noPingResponseReceived - disconnecting flutter: 1-2021-07-31 13:49:21.199738 -- MqttConnectionKeepAlive::pingRequired flutter: 1-2021-07-31 13:49:21.200228 -- MqttConnectionKeepAlive::pingRequired - sending ping request flutter: 1-2021-07-31 13:49:21.200463 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.pingRequest Header: MessageType = MqttMessageType.pingRequest, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 flutter: 1-2021-07-31 13:49:21.201087 -- MqttConnectionKeepAlive::pingRequired - restarting ping timer flutter: 1-2021-07-31 13:49:21.201378 -- MqttConnectionKeepAlive::pingRequired - restarting disconnect timer flutter: 1-2021-07-31 13:49:22.208260 -- MqttConnectionKeepAlive::noPingResponseReceived - disconnecting flutter: 1-2021-07-31 13:49:26.207293 -- MqttConnectionKeepAlive::pingRequired flutter: 1-2021-07-31 13:49:26.207760 -- MqttConnectionKeepAlive::pingRequired - sending ping request flutter: 1-2021-07-31 13:49:26.207934 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.pingRequest Header: MessageType = MqttMessageType.pingRequest, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 flutter: 1-2021-07-31 13:49:26.208801 -- MqttConnectionKeepAlive::pingRequired - restarting ping timer flutter: 1-2021-07-31 13:49:26.209242 -- MqttConnectionKeepAlive::pingRequired - restarting disconnect timer flutter: 1-2021-07-31 13:49:27.215635 -- MqttConnectionKeepAlive::noPingResponseReceived - disconnecting flutter: 1-2021-07-31 13:49:31.215656 -- MqttConnectionKeepAlive::pingRequired flutter: 1-2021-07-31 13:49:31.216079 -- MqttConnectionKeepAlive::pingRequired - sending ping request flutter: 1-2021-07-31 13:49:31.216256 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.pingRequest Header: MessageType = MqttMessageType.pingRequest, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 flutter: 1-2021-07-31 13:49:31.217191 -- MqttConnectionKeepAlive::pingRequired - restarting ping timer flutter: 1-2021-07-31 13:49:31.217550 -- MqttConnectionKeepAlive::pingRequired - restarting disconnect timer flutter: 1-2021-07-31 13:49:32.224892 -- MqttConnectionKeepAlive::noPingResponseReceived - disconnecting flutter: 1-2021-07-31 13:49:36.223679 -- MqttConnectionKeepAlive::pingRequired flutter: 1-2021-07-31 13:49:36.224134 -- MqttConnectionKeepAlive::pingRequired - sending ping request flutter: 1-2021-07-31 13:49:36.224306 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.pingRequest Header: MessageType = MqttMessageType.pingRequest, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 flutter: 1-2021-07-31 13:49:36.225071 -- MqttConnectionKeepAlive::pingRequired - restarting ping timer flutter: 1-2021-07-31 13:49:36.225451 -- MqttConnectionKeepAlive::pingRequired - restarting disconnect timer flutter: 1-2021-07-31 13:49:37.232954 -- MqttConnectionKeepAlive::noPingResponseReceived - disconnecting flutter: 1-2021-07-31 13:49:41.231714 -- MqttConnectionKeepAlive::pingRequired flutter: 1-2021-07-31 13:49:41.232198 -- MqttConnectionKeepAlive::pingRequired - sending ping request flutter: 1-2021-07-31 13:49:41.232378 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.pingRequest Header: MessageType = MqttMessageType.pingRequest, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 flutter: 1-2021-07-31 13:49:41.233184 -- MqttConnectionKeepAlive::pingRequired - restarting ping timer flutter: 1-2021-07-31 13:49:41.233472 -- MqttConnectionKeepAlive::pingRequired - restarting disconnect timer flutter: 1-2021-07-31 13:49:42.240908 -- MqttConnectionKeepAlive::noPingResponseReceived - disconnecting flutter: 1-2021-07-31 13:49:46.239750 -- MqttConnectionKeepAlive::pingRequired flutter: 1-2021-07-31 13:49:46.240275 -- MqttConnectionKeepAlive::pingRequired - sending ping request flutter: 1-2021-07-31 13:49:46.240509 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.pingRequest Header: MessageType = MqttMessageType.pingRequest, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 flutter: 1-2021-07-31 13:49:46.241231 -- MqttConnectionKeepAlive::pingRequired - restarting ping timer flutter: 1-2021-07-31 13:49:46.241562 -- MqttConnectionKeepAlive::pingRequired - restarting disconnect timer flutter: 1-2021-07-31 13:49:47.249011 -- MqttConnectionKeepAlive::noPingResponseReceived - disconnecting flutter: 1-2021-07-31 13:49:51.247134 -- MqttConnectionKeepAlive::pingRequired flutter: 1-2021-07-31 13:49:51.247593 -- MqttConnectionKeepAlive::pingRequired - sending ping request flutter: 1-2021-07-31 13:49:51.247773 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.pingRequest Header: MessageType = MqttMessageType.pingRequest, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 flutter: 1-2021-07-31 13:49:51.248400 -- MqttConnectionKeepAlive::pingRequired - restarting ping timer flutter: 1-2021-07-31 13:49:51.248726 -- MqttConnectionKeepAlive::pingRequired - restarting disconnect timer flutter: 1-2021-07-31 13:49:52.255499 -- MqttConnectionKeepAlive::noPingResponseReceived - disconnecting flutter: 1-2021-07-31 13:49:56.255280 -- MqttConnectionKeepAlive::pingRequired flutter: 1-2021-07-31 13:49:56.255750 -- MqttConnectionKeepAlive::pingRequired - sending ping request flutter: 1-2021-07-31 13:49:56.255924 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.pingRequest Header: MessageType = MqttMessageType.pingRequest, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 flutter: 1-2021-07-31 13:49:56.256858 -- MqttConnectionKeepAlive::pingRequired - restarting ping timer flutter: 1-2021-07-31 13:49:56.257280 -- MqttConnectionKeepAlive::pingRequired - restarting disconnect timer flutter: 1-2021-07-31 13:49:57.263582 -- MqttConnectionKeepAlive::noPingResponseReceived - disconnecting flutter: 1-2021-07-31 13:50:01.263323 -- MqttConnectionKeepAlive::pingRequired flutter: 1-2021-07-31 13:50:01.263818 -- MqttConnectionKeepAlive::pingRequired - sending ping request flutter: 1-2021-07-31 13:50:01.264043 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.pingRequest Header: MessageType = MqttMessageType.pingRequest, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 flutter: 1-2021-07-31 13:50:01.264713 -- MqttConnectionKeepAlive::pingRequired - restarting ping timer flutter: 1-2021-07-31 13:50:01.265062 -- MqttConnectionKeepAlive::pingRequired - restarting disconnect timer flutter: 1-2021-07-31 13:50:02.271820 -- MqttConnectionKeepAlive::noPingResponseReceived - disconnecting flutter: 1-2021-07-31 13:50:06.271783 -- MqttConnectionKeepAlive::pingRequired flutter: 1-2021-07-31 13:50:06.272243 -- MqttConnectionKeepAlive::pingRequired - sending ping request flutter: 1-2021-07-31 13:50:06.272413 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.pingRequest Header: MessageType = MqttMessageType.pingRequest, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 flutter: 1-2021-07-31 13:50:06.273148 -- MqttConnectionKeepAlive::pingRequired - restarting ping timer flutter: 1-2021-07-31 13:50:06.273624 -- MqttConnectionKeepAlive::pingRequired - restarting disconnect timer flutter: 1-2021-07-31 13:50:07.280978 -- MqttConnectionKeepAlive::noPingResponseReceived - disconnecting flutter: 1-2021-07-31 13:50:11.279762 -- MqttConnectionKeepAlive::pingRequired flutter: 1-2021-07-31 13:50:11.280217 -- MqttConnectionKeepAlive::pingRequired - sending ping request flutter: 1-2021-07-31 13:50:11.280393 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.pingRequest Header: MessageType = MqttMessageType.pingRequest, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 flutter: 1-2021-07-31 13:50:11.281404 -- MqttConnectionKeepAlive::pingRequired - restarting ping timer flutter: 1-2021-07-31 13:50:11.281849 -- MqttConnectionKeepAlive::pingRequired - restarting disconnect timer flutter: 1-2021-07-31 13:50:12.288918 -- MqttConnectionKeepAlive::noPingResponseReceived - disconnecting flutter: 1-2021-07-31 13:50:16.288285 -- MqttConnectionKeepAlive::pingRequired flutter: 1-2021-07-31 13:50:16.288782 -- MqttConnectionKeepAlive::pingRequired - sending ping request flutter: 1-2021-07-31 13:50:16.289057 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.pingRequest Header: MessageType = MqttMessageType.pingRequest, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 flutter: 1-2021-07-31 13:50:16.289978 -- MqttConnectionKeepAlive::pingRequired - restarting ping timer flutter: 1-2021-07-31 13:50:16.290359 -- MqttConnectionKeepAlive::pingRequired - restarting disconnect timer flutter: 1-2021-07-31 13:50:17.297676 -- MqttConnectionKeepAlive::noPingResponseReceived - disconnecting flutter: 1-2021-07-31 13:50:21.293668 -- MqttConnectionKeepAlive::pingRequired flutter: 1-2021-07-31 13:50:21.294143 -- MqttConnectionKeepAlive::pingRequired - sending ping request flutter: 1-2021-07-31 13:50:21.294312 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.pingRequest Header: MessageType = MqttMessageType.pingRequest, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 flutter: 1-2021-07-31 13:50:21.295229 -- MqttConnectionKeepAlive::pingRequired - restarting ping timer flutter: 1-2021-07-31 13:50:21.295574 -- MqttConnectionKeepAlive::pingRequired - restarting disconnect timer flutter: 1-2021-07-31 13:50:22.302902 -- MqttConnectionKeepAlive::noPingResponseReceived - disconnecting flutter: 1-2021-07-31 13:50:26.301601 -- MqttConnectionKeepAlive::pingRequired flutter: 1-2021-07-31 13:50:26.302133 -- MqttConnectionKeepAlive::pingRequired - sending ping request flutter: 1-2021-07-31 13:50:26.302386 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.pingRequest Header: MessageType = MqttMessageType.pingRequest, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 flutter: 1-2021-07-31 13:50:26.303252 -- MqttConnectionKeepAlive::pingRequired - restarting ping timer flutter: 1-2021-07-31 13:50:26.303740 -- MqttConnectionKeepAlive::pingRequired - restarting disconnect timer flutter: 1-2021-07-31 13:50:27.310734 -- MqttConnectionKeepAlive::noPingResponseReceived - disconnecting flutter: 1-2021-07-31 13:50:31.310397 -- MqttConnectionKeepAlive::pingRequired flutter: 1-2021-07-31 13:50:31.310868 -- MqttConnectionKeepAlive::pingRequired - sending ping request flutter: 1-2021-07-31 13:50:31.311089 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.pingRequest Header: MessageType = MqttMessageType.pingRequest, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 flutter: 1-2021-07-31 13:50:31.311821 -- MqttConnectionKeepAlive::pingRequired - restarting ping timer flutter: 1-2021-07-31 13:50:31.312142 -- MqttConnectionKeepAlive::pingRequired - restarting disconnect timer flutter: 1-2021-07-31 13:50:32.318598 -- MqttConnectionKeepAlive::noPingResponseReceived - disconnecting flutter: 1-2021-07-31 13:50:36.318486 -- MqttConnectionKeepAlive::pingRequired flutter: 1-2021-07-31 13:50:36.318961 -- MqttConnectionKeepAlive::pingRequired - sending ping request flutter: 1-2021-07-31 13:50:36.319137 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.pingRequest Header: MessageType = MqttMessageType.pingRequest, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 flutter: 1-2021-07-31 13:50:36.319847 -- MqttConnectionKeepAlive::pingRequired - restarting ping timer flutter: 1-2021-07-31 13:50:36.320177 -- MqttConnectionKeepAlive::pingRequired - restarting disconnect timer flutter: 1-2021-07-31 13:50:37.326745 -- MqttConnectionKeepAlive::noPingResponseReceived - disconnecting flutter: 1-2021-07-31 13:50:41.326325 -- MqttConnectionKeepAlive::pingRequired flutter: 1-2021-07-31 13:50:41.326798 -- MqttConnectionKeepAlive::pingRequired - sending ping request flutter: 1-2021-07-31 13:50:41.327048 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.pingRequest Header: MessageType = MqttMessageType.pingRequest, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 flutter: 1-2021-07-31 13:50:41.328028 -- MqttConnectionKeepAlive::pingRequired - restarting ping timer flutter: 1-2021-07-31 13:50:41.328484 -- MqttConnectionKeepAlive::pingRequired - restarting disconnect timer flutter: 1-2021-07-31 13:50:42.335671 -- MqttConnectionKeepAlive::noPingResponseReceived - disconnecting flutter: 1-2021-07-31 13:50:46.334622 -- MqttConnectionKeepAlive::pingRequired flutter: 1-2021-07-31 13:50:46.335066 -- MqttConnectionKeepAlive::pingRequired - sending ping request flutter: 1-2021-07-31 13:50:46.335242 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.pingRequest Header: MessageType = MqttMessageType.pingRequest, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 flutter: 1-2021-07-31 13:50:46.336096 -- MqttConnectionKeepAlive::pingRequired - restarting ping timer flutter: 1-2021-07-31 13:50:46.336586 -- MqttConnectionKeepAlive::pingRequired - restarting disconnect timer flutter: 1-2021-07-31 13:50:47.343861 -- MqttConnectionKeepAlive::noPingResponseReceived - disconnecting flutter: 1-2021-07-31 13:50:51.342562 -- MqttConnectionKeepAlive::pingRequired flutter: 1-2021-07-31 13:50:51.343019 -- MqttConnectionKeepAlive::pingRequired - sending ping request flutter: 1-2021-07-31 13:50:51.343192 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.pingRequest Header: MessageType = MqttMessageType.pingRequest, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 flutter: 1-2021-07-31 13:50:51.343870 -- MqttConnectionKeepAlive::pingRequired - restarting ping timer flutter: 1-2021-07-31 13:50:51.344221 -- MqttConnectionKeepAlive::pingRequired - restarting disconnect timer flutter: 1-2021-07-31 13:50:52.350640 -- MqttConnectionKeepAlive::noPingResponseReceived - disconnecting flutter: 1-2021-07-31 13:50:56.350498 -- MqttConnectionKeepAlive::pingRequired flutter: 1-2021-07-31 13:50:56.350954 -- MqttConnectionKeepAlive::pingRequired - sending ping request flutter: 1-2021-07-31 13:50:56.351210 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.pingRequest Header: MessageType = MqttMessageType.pingRequest, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 flutter: 1-2021-07-31 13:50:56.351939 -- MqttConnectionKeepAlive::pingRequired - restarting ping timer flutter: 1-2021-07-31 13:50:56.352256 -- MqttConnectionKeepAlive::pingRequired - restarting disconnect timer flutter: 1-2021-07-31 13:50:57.358592 -- MqttConnectionKeepAlive::noPingResponseReceived - disconnecting flutter: 1-2021-07-31 13:51:01.358225 -- MqttConnectionKeepAlive::pingRequired flutter: 1-2021-07-31 13:51:01.358664 -- MqttConnectionKeepAlive::pingRequired - sending ping request flutter: 1-2021-07-31 13:51:01.358830 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.pingRequest Header: MessageType = MqttMessageType.pingRequest, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 flutter: 1-2021-07-31 13:51:01.359559 -- MqttConnectionKeepAlive::pingRequired - restarting ping timer flutter: 1-2021-07-31 13:51:01.359896 -- MqttConnectionKeepAlive::pingRequired - restarting disconnect timer flutter: 1-2021-07-31 13:51:02.366350 -- MqttConnectionKeepAlive::noPingResponseReceived - disconnecting flutter: 1-2021-07-31 13:51:06.366106 -- MqttConnectionKeepAlive::pingRequired flutter: 1-2021-07-31 13:51:06.366554 -- MqttConnectionKeepAlive::pingRequired - sending ping request flutter: 1-2021-07-31 13:51:06.366718 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.pingRequest Header: MessageType = MqttMessageType.pingRequest, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 flutter: 1-2021-07-31 13:51:06.367630 -- MqttConnectionKeepAlive::pingRequired - restarting ping timer flutter: 1-2021-07-31 13:51:06.368148 -- MqttConnectionKeepAlive::pingRequired - restarting disconnect timer flutter: 1-2021-07-31 13:51:07.374283 -- MqttConnectionKeepAlive::noPingResponseReceived - disconnecting flutter: 1-2021-07-31 13:51:11.374964 -- MqttConnectionKeepAlive::pingRequired flutter: 1-2021-07-31 13:51:11.375407 -- MqttConnectionKeepAlive::pingRequired - sending ping request flutter: 1-2021-07-31 13:51:11.375577 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.pingRequest Header: MessageType = MqttMessageType.pingRequest, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 flutter: 1-2021-07-31 13:51:11.376307 -- MqttConnectionKeepAlive::pingRequired - restarting ping timer flutter: 1-2021-07-31 13:51:11.376725 -- MqttConnectionKeepAlive::pingRequired - restarting disconnect timer flutter: 1-2021-07-31 13:51:12.383295 -- MqttConnectionKeepAlive::noPingResponseReceived - disconnecting flutter: 1-2021-07-31 13:51:16.383404 -- MqttConnectionKeepAlive::pingRequired flutter: 1-2021-07-31 13:51:16.384365 -- MqttConnectionKeepAlive::pingRequired - sending ping request flutter: 1-2021-07-31 13:51:16.384578 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.pingRequest Header: MessageType = MqttMessageType.pingRequest, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 flutter: 1-2021-07-31 13:51:16.385681 -- MqttConnectionKeepAlive::pingRequired - restarting ping timer flutter: 1-2021-07-31 13:51:16.386054 -- MqttConnectionKeepAlive::pingRequired - restarting disconnect timer flutter: 1-2021-07-31 13:51:17.392414 -- MqttConnectionKeepAlive::noPingResponseReceived - disconnecting flutter: 1-2021-07-31 13:51:21.392829 -- MqttConnectionKeepAlive::pingRequired flutter: 1-2021-07-31 13:51:21.393311 -- MqttConnectionKeepAlive::pingRequired - sending ping request flutter: 1-2021-07-31 13:51:21.393564 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.pingRequest Header: MessageType = MqttMessageType.pingRequest, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 flutter: 1-2021-07-31 13:51:21.394373 -- MqttConnectionKeepAlive::pingRequired - restarting ping timer flutter: 1-2021-07-31 13:51:21.394860 -- MqttConnectionKeepAlive::pingRequired - restarting disconnect timer flutter: 1-2021-07-31 13:51:22.401139 -- MqttConnectionKeepAlive::noPingResponseReceived - disconnecting flutter: 1-2021-07-31 13:51:26.401875 -- MqttConnectionKeepAlive::pingRequired flutter: 1-2021-07-31 13:51:26.402360 -- MqttConnectionKeepAlive::pingRequired - sending ping request flutter: 1-2021-07-31 13:51:26.402622 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.pingRequest Header: MessageType = MqttMessageType.pingRequest, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 flutter: 1-2021-07-31 13:51:26.403401 -- MqttConnectionKeepAlive::pingRequired - restarting ping timer flutter: 1-2021-07-31 13:51:26.403838 -- MqttConnectionKeepAlive::pingRequired - restarting disconnect timer flutter: 1-2021-07-31 13:51:27.411032 -- MqttConnectionKeepAlive::noPingResponseReceived - disconnecting flutter: 1-2021-07-31 13:51:31.410776 -- MqttConnectionKeepAlive::pingRequired flutter: 1-2021-07-31 13:51:31.411278 -- MqttConnectionKeepAlive::pingRequired - sending ping request flutter: 1-2021-07-31 13:51:31.411496 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.pingRequest Header: MessageType = MqttMessageType.pingRequest, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 flutter: 1-2021-07-31 13:51:31.412453 -- MqttConnectionKeepAlive::pingRequired - restarting ping timer flutter: 1-2021-07-31 13:51:31.412862 -- MqttConnectionKeepAlive::pingRequired - restarting disconnect timer flutter: 1-2021-07-31 13:51:32.420025 -- MqttConnectionKeepAlive::noPingResponseReceived - disconnecting flutter: 1-2021-07-31 13:51:36.419770 -- MqttConnectionKeepAlive::pingRequired flutter: 1-2021-07-31 13:51:36.420293 -- MqttConnectionKeepAlive::pingRequired - sending ping request flutter: 1-2021-07-31 13:51:36.420516 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.pingRequest Header: MessageType = MqttMessageType.pingRequest, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 flutter: 1-2021-07-31 13:51:36.421299 -- MqttConnectionKeepAlive::pingRequired - restarting ping timer flutter: 1-2021-07-31 13:51:36.421858 -- MqttConnectionKeepAlive::pingRequired - restarting disconnect timer flutter: 1-2021-07-31 13:51:37.428980 -- MqttConnectionKeepAlive::noPingResponseReceived - disconnecting flutter: 1-2021-07-31 13:51:41.428784 -- MqttConnectionKeepAlive::pingRequired flutter: 1-2021-07-31 13:51:41.429247 -- MqttConnectionKeepAlive::pingRequired - sending ping request flutter: 1-2021-07-31 13:51:41.429417 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.pingRequest Header: MessageType = MqttMessageType.pingRequest, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 flutter: 1-2021-07-31 13:51:41.430145 -- MqttConnectionKeepAlive::pingRequired - restarting ping timer flutter: 1-2021-07-31 13:51:41.430517 -- MqttConnectionKeepAlive::pingRequired - restarting disconnect timer flutter: 1-2021-07-31 13:51:42.437880 -- MqttConnectionKeepAlive::noPingResponseReceived - disconnecting flutter: 1-2021-07-31 13:51:46.436853 -- MqttConnectionKeepAlive::pingRequired flutter: 1-2021-07-31 13:51:46.437291 -- MqttConnectionKeepAlive::pingRequired - sending ping request flutter: 1-2021-07-31 13:51:46.437460 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.pingRequest Header: MessageType = MqttMessageType.pingRequest, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 flutter: 1-2021-07-31 13:51:46.438447 -- MqttConnectionKeepAlive::pingRequired - restarting ping timer flutter: 1-2021-07-31 13:51:46.438853 -- MqttConnectionKeepAlive::pingRequired - restarting disconnect timer flutter: 1-2021-07-31 13:51:47.444993 -- MqttConnectionKeepAlive::noPingResponseReceived - disconnecting flutter: 1-2021-07-31 13:51:51.445673 -- MqttConnectionKeepAlive::pingRequired flutter: 1-2021-07-31 13:51:51.446130 -- MqttConnectionKeepAlive::pingRequired - sending ping request flutter: 1-2021-07-31 13:51:51.446380 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.pingRequest Header: MessageType = MqttMessageType.pingRequest, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 flutter: 1-2021-07-31 13:51:51.447074 -- MqttConnectionKeepAlive::pingRequired - restarting ping timer flutter: 1-2021-07-31 13:51:51.447411 -- MqttConnectionKeepAlive::pingRequired - restarting disconnect timer flutter: 1-2021-07-31 13:51:52.453894 -- MqttConnectionKeepAlive::noPingResponseReceived - disconnecting flutter: 1-2021-07-31 13:51:56.453626 -- MqttConnectionKeepAlive::pingRequired flutter: 1-2021-07-31 13:51:56.454100 -- MqttConnectionKeepAlive::pingRequired - sending ping request flutter: 1-2021-07-31 13:51:56.454262 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.pingRequest Header: MessageType = MqttMessageType.pingRequest, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 flutter: 1-2021-07-31 13:51:56.454953 -- MqttConnectionKeepAlive::pingRequired - restarting ping timer flutter: 1-2021-07-31 13:51:56.455295 -- MqttConnectionKeepAlive::pingRequired - restarting disconnect timer flutter: 1-2021-07-31 13:51:57.461859 -- MqttConnectionKeepAlive::noPingResponseReceived - disconnecting flutter: 1-2021-07-31 13:52:01.461593 -- MqttConnectionKeepAlive::pingRequired flutter: 1-2021-07-31 13:52:01.462102 -- MqttConnectionKeepAlive::pingRequired - sending ping request flutter: 1-2021-07-31 13:52:01.462324 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.pingRequest Header: MessageType = MqttMessageType.pingRequest, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 flutter: 1-2021-07-31 13:52:01.463121 -- MqttConnectionKeepAlive::pingRequired - restarting ping timer flutter: 1-2021-07-31 13:52:01.463525 -- MqttConnectionKeepAlive::pingRequired - restarting disconnect timer flutter: 1-2021-07-31 13:52:02.470798 -- MqttConnectionKeepAlive::noPingResponseReceived - disconnecting flutter: 1-2021-07-31 13:52:06.469497 -- MqttConnectionKeepAlive::pingRequired flutter: 1-2021-07-31 13:52:06.469966 -- MqttConnectionKeepAlive::pingRequired - sending ping request flutter: 1-2021-07-31 13:52:06.470233 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.pingRequest Header: MessageType = MqttMessageType.pingRequest, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 flutter: 1-2021-07-31 13:52:06.471175 -- MqttConnectionKeepAlive::pingRequired - restarting ping timer flutter: 1-2021-07-31 13:52:06.471529 -- MqttConnectionKeepAlive::pingRequired - restarting disconnect timer flutter: 1-2021-07-31 13:52:07.478878 -- MqttConnectionKeepAlive::noPingResponseReceived - disconnecting flutter: 1-2021-07-31 13:52:11.477634 -- MqttConnectionKeepAlive::pingRequired flutter: 1-2021-07-31 13:52:11.478093 -- MqttConnectionKeepAlive::pingRequired - sending ping request flutter: 1-2021-07-31 13:52:11.478259 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.pingRequest Header: MessageType = MqttMessageType.pingRequest, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 flutter: 1-2021-07-31 13:52:11.479021 -- MqttConnectionKeepAlive::pingRequired - restarting ping timer flutter: 1-2021-07-31 13:52:11.479404 -- MqttConnectionKeepAlive::pingRequired - restarting disconnect timer flutter: 1-2021-07-31 13:52:12.486729 -- MqttConnectionKeepAlive::noPingResponseReceived - disconnecting flutter: 1-2021-07-31 13:52:16.485156 -- MqttConnectionKeepAlive::pingRequired flutter: 1-2021-07-31 13:52:16.485643 -- MqttConnectionKeepAlive::pingRequired - sending ping request flutter: 1-2021-07-31 13:52:16.485897 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.pingRequest Header: MessageType = MqttMessageType.pingRequest, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 flutter: 1-2021-07-31 13:52:16.486851 -- MqttConnectionKeepAlive::pingRequired - restarting ping timer flutter: 1-2021-07-31 13:52:16.487193 -- MqttConnectionKeepAlive::pingRequired - restarting disconnect timer flutter: 1-2021-07-31 13:52:17.493529 -- MqttConnectionKeepAlive::noPingResponseReceived - disconnecting flutter: 1-2021-07-31 13:52:21.493431 -- MqttConnectionKeepAlive::pingRequired flutter: 1-2021-07-31 13:52:21.493887 -- MqttConnectionKeepAlive::pingRequired - sending ping request flutter: 1-2021-07-31 13:52:21.494052 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.pingRequest Header: MessageType = MqttMessageType.pingRequest, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 flutter: 1-2021-07-31 13:52:21.494770 -- MqttConnectionKeepAlive::pingRequired - restarting ping timer flutter: 1-2021-07-31 13:52:21.495130 -- MqttConnectionKeepAlive::pingRequired - restarting disconnect timer flutter: 1-2021-07-31 13:52:22.501798 -- MqttConnectionKeepAlive::noPingResponseReceived - disconnecting flutter: 1-2021-07-31 13:52:26.501613 -- MqttConnectionKeepAlive::pingRequired flutter: 1-2021-07-31 13:52:26.502129 -- MqttConnectionKeepAlive::pingRequired - sending ping request flutter: 1-2021-07-31 13:52:26.502385 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.pingRequest Header: MessageType = MqttMessageType.pingRequest, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 flutter: 1-2021-07-31 13:52:26.503140 -- MqttConnectionKeepAlive::pingRequired - restarting ping timer flutter: 1-2021-07-31 13:52:26.503432 -- MqttConnectionKeepAlive::pingRequired - restarting disconnect timer flutter: 1-2021-07-31 13:52:27.509605 -- MqttConnectionKeepAlive::noPingResponseReceived - disconnecting flutter: 1-2021-07-31 13:52:31.509550 -- MqttConnectionKeepAlive::pingRequired flutter: 1-2021-07-31 13:52:31.510028 -- MqttConnectionKeepAlive::pingRequired - sending ping request flutter: 1-2021-07-31 13:52:31.510197 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.pingRequest Header: MessageType = MqttMessageType.pingRequest, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 flutter: 1-2021-07-31 13:52:31.511138 -- MqttConnectionKeepAlive::pingRequired - restarting ping timer flutter: 1-2021-07-31 13:52:31.511463 -- MqttConnectionKeepAlive::pingRequired - restarting disconnect timer flutter: 1-2021-07-31 13:52:32.517566 -- MqttConnectionKeepAlive::noPingResponseReceived - disconnecting flutter: 1-2021-07-31 13:52:36.517266 -- MqttConnectionKeepAlive::pingRequired flutter: 1-2021-07-31 13:52:36.517726 -- MqttConnectionKeepAlive::pingRequired - sending ping request flutter: 1-2021-07-31 13:52:36.517892 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.pingRequest Header: MessageType = MqttMessageType.pingRequest, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 flutter: 1-2021-07-31 13:52:36.518813 -- MqttConnectionKeepAlive::pingRequired - restarting ping timer flutter: 1-2021-07-31 13:52:36.519189 -- MqttConnectionKeepAlive::pingRequired - restarting disconnect timer flutter: 1-2021-07-31 13:52:37.525599 -- MqttConnectionKeepAlive::noPingResponseReceived - disconnecting flutter: 1-2021-07-31 13:52:41.525504 -- MqttConnectionKeepAlive::pingRequired flutter: 1-2021-07-31 13:52:41.526022 -- MqttConnectionKeepAlive::pingRequired - sending ping request flutter: 1-2021-07-31 13:52:41.526296 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.pingRequest Header: MessageType = MqttMessageType.pingRequest, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 flutter: 1-2021-07-31 13:52:41.526994 -- MqttConnectionKeepAlive::pingRequired - restarting ping timer flutter: 1-2021-07-31 13:52:41.527294 -- MqttConnectionKeepAlive::pingRequired - restarting disconnect timer flutter: 1-2021-07-31 13:52:42.533695 -- MqttConnectionKeepAlive::noPingResponseReceived - disconnecting flutter: 1-2021-07-31 13:52:46.533524 -- MqttConnectionKeepAlive::pingRequired flutter: 1-2021-07-31 13:52:46.534042 -- MqttConnectionKeepAlive::pingRequired - sending ping request flutter: 1-2021-07-31 13:52:46.534278 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.pingRequest Header: MessageType = MqttMessageType.pingRequest, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 flutter: 1-2021-07-31 13:52:46.535058 -- MqttConnectionKeepAlive::pingRequired - restarting ping timer flutter: 1-2021-07-31 13:52:46.535362 -- MqttConnectionKeepAlive::pingRequired - restarting disconnect timer flutter: 1-2021-07-31 13:52:47.541564 -- MqttConnectionKeepAlive::noPingResponseReceived - disconnecting flutter: 1-2021-07-31 13:52:51.541372 -- MqttConnectionKeepAlive::pingRequired flutter: 1-2021-07-31 13:52:51.541861 -- MqttConnectionKeepAlive::pingRequired - sending ping request flutter: 1-2021-07-31 13:52:51.542118 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.pingRequest Header: MessageType = MqttMessageType.pingRequest, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 flutter: 1-2021-07-31 13:52:51.542761 -- MqttConnectionKeepAlive::pingRequired - restarting ping timer flutter: 1-2021-07-31 13:52:51.543125 -- MqttConnectionKeepAlive::pingRequired - restarting disconnect timer flutter: 1-2021-07-31 13:52:52.549615 -- MqttConnectionKeepAlive::noPingResponseReceived - disconnecting flutter: 1-2021-07-31 13:52:56.549604 -- MqttConnectionKeepAlive::pingRequired flutter: 1-2021-07-31 13:52:56.550078 -- MqttConnectionKeepAlive::pingRequired - sending ping request flutter: 1-2021-07-31 13:52:56.550245 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.pingRequest Header: MessageType = MqttMessageType.pingRequest, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 flutter: 1-2021-07-31 13:52:56.551080 -- MqttConnectionKeepAlive::pingRequired - restarting ping timer flutter: 1-2021-07-31 13:52:56.551417 -- MqttConnectionKeepAlive::pingRequired - restarting disconnect timer flutter: 1-2021-07-31 13:52:57.559014 -- MqttConnectionKeepAlive::noPingResponseReceived - disconnecting flutter: 1-2021-07-31 13:53:01.557733 -- MqttConnectionKeepAlive::pingRequired flutter: 1-2021-07-31 13:53:01.558220 -- MqttConnectionKeepAlive::pingRequired - sending ping request flutter: 1-2021-07-31 13:53:01.558477 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.pingRequest Header: MessageType = MqttMessageType.pingRequest, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 flutter: 1-2021-07-31 13:53:01.559201 -- MqttConnectionKeepAlive::pingRequired - restarting ping timer flutter: 1-2021-07-31 13:53:01.559551 -- MqttConnectionKeepAlive::pingRequired - restarting disconnect timer flutter: 1-2021-07-31 13:53:02.566787 -- MqttConnectionKeepAlive::noPingResponseReceived - disconnecting flutter: 1-2021-07-31 13:53:03.172776 -- MqttConnectionBase::_onError - calling disconnected callback flutter: 1-2021-07-31 13:53:03.176517 -- MqttConnectionBase::_onDone - calling disconnected callback flutter: 1-2021-07-31 13:53:03.178411 -- MqttConnectionHandlerBase::autoReconnect entered flutter: 1-2021-07-31 13:53:03.179092 -- MqttConnectionHandlerBase::autoReconnect - attempting reconnection flutter: 1-2021-07-31 13:53:03.179435 -- MqttConnectionHandlerBase::connect - server x.x.x.x, port 1883 flutter: 1-2021-07-31 13:53:03.179557 -- SynchronousMqttServerConnectionHandler::internalConnect entered flutter: 1-2021-07-31 13:53:03.179667 -- SynchronousMqttServerConnectionHandler::internalConnect - initiating connection try 0, auto reconnect in progress true flutter: 1-2021-07-31 13:53:03.179770 -- SynchronousMqttServerConnectionHandler::internalConnect - calling connectAuto flutter: 1-2021-07-31 13:53:03.180532 -- MqttNormalConnection::connectAuto - entered flutter: 1-2021-07-31 13:53:03.181691 -- MqttConnectionHandlerBase::autoReconnect entered flutter: 1-2021-07-31 13:53:03.622651 -- MqttServerConnection::_startListening flutter: 1-2021-07-31 13:53:03.623178 -- SynchronousMqttServerConnectionHandler::internalConnect - connection complete flutter: 1-2021-07-31 13:53:03.623557 -- SynchronousMqttServerConnectionHandler::internalConnect sending connect message flutter: 1-2021-07-31 13:53:03.623931 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.connect Header: MessageType = MqttMessageType.connect, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 53 Connect Variable Header: ProtocolName=MQIsdp, ProtocolVersion=3, ConnectFlags=Connect Flags: Reserved1=false, CleanStart=true, WillFlag=true, WillQos=MqttQos.atLeastOnce, WillRetain=false, PasswordFlag=false, UserNameFlag=false, KeepAlive=5 MqttConnectPayload - client identifier is : Flutter_iOS flutter: 1-2021-07-31 13:53:03.625703 -- SynchronousMqttServerConnectionHandler::internalConnect - pre sleep, state = Connection status is connecting with return code of noneSpecified and a disconnection origin of none flutter: 1-2021-07-31 13:53:03.862084 -- MqttConnection::_onData flutter: 1-2021-07-31 13:53:03.862508 -- MqttServerConnection::_onData - message received MQTTMessage of type MqttMessageType.connectAck Header: MessageType = MqttMessageType.connectAck, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 2 Connect Variable Header: TopicNameCompressionResponse={0}, ReturnCode={MqttConnectReturnCode.connectionAccepted} flutter: 1-2021-07-31 13:53:03.862963 -- MqttServerConnection::_onData - message available event fired flutter: 1-2021-07-31 13:53:03.863631 -- MqttConnectionHandlerBase::_connectAckProcessor flutter: 1-2021-07-31 13:53:03.863901 -- MqttConnectionHandlerBase:_connectAckProcessor - state = connected flutter: EXAMPLE::Mosquitto client connected.... flutter: 1-2021-07-31 13:53:03.864765 -- MqttConnectionHandlerBase:: cancelling connect timer flutter: 1-2021-07-31 13:53:03.865317 -- SynchronousMqttServerConnectionHandler::internalConnect - post sleep, state = Connection status is connected with return code of connectionAccepted and a disconnection origin of none flutter: 1-2021-07-31 13:53:03.865613 -- SynchronousMqttServerConnectionHandler::internalConnect exited with state Connection status is connected with return code of connectionAccepted and a disconnection origin of none flutter: 1-2021-07-31 13:53:03.866753 -- MqttConnectionHandlerBase::autoReconnect - auto reconnect complete flutter: 1-2021-07-31 13:53:03.868830 -- Subscriptionsmanager::_resubscribe - resubscribing from auto reconnect true flutter: 1-2021-07-31 13:53:03.869448 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.subscribe Header: MessageType = MqttMessageType.subscribe, Duplicate = false, Retain = false, Qos = MqttQos.atLeastOnce, Size = 0 Subscribe Variable Header: MessageIdentifier={2} Payload: Subscription [{1}] {{ Topic={#}, Qos={MqttQos.atLeastOnce} }} flutter: 1-2021-07-31 13:53:04.103734 -- MqttConnection::_onData flutter: 1-2021-07-31 13:53:04.104365 -- MqttServerConnection::_onData - message received MQTTMessage of type MqttMessageType.subscribeAck Header: MessageType = MqttMessageType.subscribeAck, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 3 SubscribeAck Variable Header: MessageIdentifier={2} Payload: Qos grants [{1}] {{ Grant={MqttQos.atLeastOnce} }} flutter: 1-2021-07-31 13:53:04.104799 -- MqttServerConnection::_onData - message available event fired flutter: 1-2021-07-31 13:53:04.105166 -- MqttConnectionHandlerBase::messageAvailable - message type is MqttMessageType.subscribeAck flutter: EXAMPLE::Subscription confirmed for topic # flutter: 1-2021-07-31 13:53:04.382142 -- MqttConnection::_onData flutter: 1-2021-07-31 13:53:04.384323 -- MqttServerConnection::_onData - message received MQTTMessage of type MqttMessageType.publish Header: MessageType = MqttMessageType.publish, Duplicate = false, Retain = false, Qos = MqttQos.atLeastOnce, Size = 659 Publish Variable Header: TopicName={Open/Inverter/InverterValues}, MessageIdentifier={1}, VH Length={32} Payload: {627 bytes={<123><34>flutter: 1-2021-07-31 13:53:04.387011 -- MqttServerConnection::_onData - message available event fired flutter: 1-2021-07-31 13:53:04.387377 -- MqttConnectionHandlerBase::messageAvailable - message type is MqttMessageType.publish flutter: 1-2021-07-31 13:53:04.387689 -- PublishingManager::handlePublish - publish received from broker with topic Open/Inverter/InverterValues flutter: 1-2021-07-31 13:53:04.388127 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.publishAck Header: MessageType = MqttMessageType.publishAck, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 PublishAck Variable Header: MessageIdentifier={1} flutter: 1-2021-07-31 13:53:06.565994 -- MqttConnectionKeepAlive::pingRequired flutter: 1-2021-07-31 13:53:06.566508 -- MqttConnectionKeepAlive::pingRequired - sending ping request flutter: 1-2021-07-31 13:53:06.566731 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.pingRequest Header: MessageType = MqttMessageType.pingRequest, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 flutter: 1-2021-07-31 13:53:06.567742 -- MqttConnectionKeepAlive::pingRequired - restarting ping timer flutter: 1-2021-07-31 13:53:06.568132 -- MqttConnectionKeepAlive::pingRequired - restarting disconnect timer flutter: 1-2021-07-31 13:53:06.835411 -- MqttConnection::_onData flutter: 1-2021-07-31 13:53:06.835790 -- MqttServerConnection::_onData - message received MQTTMessage of type MqttMessageType.pingResponse Header: MessageType = MqttMessageType.pingResponse, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 flutter: 1-2021-07-31 13:53:06.836247 -- MqttServerConnection::_onData - message available event fired flutter: 1-2021-07-31 13:53:06.836584 -- MqttConnectionHandlerBase::messageAvailable - message type is MqttMessageType.pingResponse flutter: 1-2021-07-31 13:53:06.836766 -- MqttConnectionKeepAlive::pingResponseReceived flutter: 1-2021-07-31 13:53:06.998063 -- MqttConnection::_onData flutter: 1-2021-07-31 13:53:07.000175 -- MqttServerConnection::_onData - message received MQTTMessage of type MqttMessageType.publish Header: MessageType = MqttMessageType.publish, Duplicate = false, Retain = false, Qos = MqttQos.atLeastOnce, Size = 660 Publish Variable Header: TopicName={Open/Inverter/InverterValues}, MessageIdentifier={2}, VH Length={32} Payload: {628 bytes={<123><34>flutter: 1-2021-07-31 13:53:07.002608 -- MqttServerConnection::_onData - message available event fired flutter: 1-2021-07-31 13:53:07.003184 -- MqttConnectionHandlerBase::messageAvailable - message type is MqttMessageType.publish flutter: 1-2021-07-31 13:53:07.003593 -- PublishingManager::handlePublish - publish received from broker with topic Open/Inverter/InverterValues flutter: 1-2021-07-31 13:53:07.004018 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.publishAck Header: MessageType = MqttMessageType.publishAck, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 PublishAck Variable Header: MessageIdentifier={2} flutter: 1-2021-07-31 13:53:09.474103 -- MqttConnection::_onData flutter: 1-2021-07-31 13:53:09.476198 -- MqttServerConnection::_onData - message received MQTTMessage of type MqttMessageType.publish Header: MessageType = MqttMessageType.publish, Duplicate = false, Retain = false, Qos = MqttQos.atLeastOnce, Size = 642 Publish Variable Header: TopicName={Open/Inverter/InverterValues}, MessageIdentifier={3}, VH Length={32} Payload: {610 bytes={<123><34>flutter: 1-2021-07-31 13:53:09.479781 -- MqttServerConnection::_onData - message available event fired flutter: 1-2021-07-31 13:53:09.480243 -- MqttConnectionHandlerBase::messageAvailable - message type is MqttMessageType.publish flutter: 1-2021-07-31 13:53:09.480538 -- PublishingManager::handlePublish - publish received from broker with topic Open/Inverter/InverterValues flutter: 1-2021-07-31 13:53:09.480790 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.publishAck Header: MessageType = MqttMessageType.publishAck, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 PublishAck Variable Header: MessageIdentifier={3} flutter: 1-2021-07-31 13:53:11.574426 -- MqttConnectionKeepAlive::pingRequired flutter: 1-2021-07-31 13:53:11.574997 -- MqttConnectionKeepAlive::pingRequired - sending ping request flutter: 1-2021-07-31 13:53:11.575233 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.pingRequest Header: MessageType = MqttMessageType.pingRequest, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 flutter: 1-2021-07-31 13:53:11.576587 -- MqttConnectionKeepAlive::pingRequired - restarting ping timer flutter: 1-2021-07-31 13:53:11.576998 -- MqttConnectionKeepAlive::pingRequired - restarting disconnect timer flutter: 1-2021-07-31 13:53:11.844480 -- MqttConnection::_onData flutter: 1-2021-07-31 13:53:11.844863 -- MqttServerConnection::_onData - message received MQTTMessage of type MqttMessageType.pingResponse Header: MessageType = MqttMessageType.pingResponse, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 flutter: 1-2021-07-31 13:53:11.845456 -- MqttServerConnection::_onData - message available event fired flutter: 1-2021-07-31 13:53:11.845910 -- MqttConnectionHandlerBase::messageAvailable - message type is MqttMessageType.pingResponse flutter: 1-2021-07-31 13:53:11.846273 -- MqttConnectionKeepAlive::pingResponseReceived flutter: 1-2021-07-31 13:53:12.090387 -- MqttConnection::_onData flutter: 1-2021-07-31 13:53:12.092403 -- MqttServerConnection::_onData - message received MQTTMessage of type MqttMessageType.publish Header: MessageType = MqttMessageType.publish, Duplicate = false, Retain = false, Qos = MqttQos.atLeastOnce, Size = 659 Publish Variable Header: TopicName={Open/Inverter/InverterValues}, MessageIdentifier={4}, VH Length={32} Payload: {627 bytes={<123><34>flutter: 1-2021-07-31 13:53:12.094406 -- MqttServerConnection::_onData - message available event fired flutter: 1-2021-07-31 13:53:12.094731 -- MqttConnectionHandlerBase::messageAvailable - message type is MqttMessageType.publish flutter: 1-2021-07-31 13:53:12.095023 -- PublishingManager::handlePublish - publish received from broker with topic Open/Inverter/InverterValues flutter: 1-2021-07-31 13:53:12.095336 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.publishAck Header: MessageType = MqttMessageType.publishAck, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 PublishAck Variable Header: MessageIdentifier={4} flutter: 1-2021-07-31 13:53:14.673362 -- MqttConnection::_onData flutter: 1-2021-07-31 13:53:14.674275 -- MqttServerConnection::_onData - message received MQTTMessage of type MqttMessageType.publish Header: MessageType = MqttMessageType.publish, Duplicate = false, Retain = false, Qos = MqttQos.atLeastOnce, Size = 659 Publish Variable Header: TopicName={Open/Inverter/InverterValues}, MessageIdentifier={5}, VH Length={32} Payload: {627 bytes={<123><34>flutter: 1-2021-07-31 13:53:14.676705 -- MqttServerConnection::_onData - message available event fired flutter: 1-2021-07-31 13:53:14.677079 -- MqttConnectionHandlerBase::messageAvailable - message type is MqttMessageType.publish flutter: 1-2021-07-31 13:53:14.677276 -- PublishingManager::handlePublish - publish received from broker with topic Open/Inverter/InverterValues flutter: 1-2021-07-31 13:53:14.677437 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.publishAck Header: MessageType = MqttMessageType.publishAck, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 PublishAck Variable Header: MessageIdentifier={5} flutter: 1-2021-07-31 13:53:16.580427 -- MqttConnectionKeepAlive::pingRequired flutter: 1-2021-07-31 13:53:16.580792 -- MqttConnectionKeepAlive::pingRequired - sending ping request flutter: 1-2021-07-31 13:53:16.580915 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.pingRequest Header: MessageType = MqttMessageType.pingRequest, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 flutter: 1-2021-07-31 13:53:16.581535 -- MqttConnectionKeepAlive::pingRequired - restarting ping timer flutter: 1-2021-07-31 13:53:16.581803 -- MqttConnectionKeepAlive::pingRequired - restarting disconnect timer Application finished. Exited (sigterm)


Here is the second test where I did the disconnect and reconnect using buttons on the app. So the code does work. It just does not work on its own when that timeout happens.


Connecting to VM Service at ws://127.0.0.1:52382/N4uzO2n_P8Y=/ws flutter: EXAMPLE::Mosquitto client connecting.... flutter: EXAMPLE::Mosquitto start client connecting.... flutter: 1-2021-07-31 13:57:40.599857 -- MqttClient::connect - keep alive is enabled with a value of 5 seconds flutter: 1-2021-07-31 13:57:40.601163 -- MqttConnectionKeepAlive:: Initialised with a keep alive value of 5 seconds flutter: 1-2021-07-31 13:57:40.601201 -- MqttConnectionKeepAlive:: Disconnect on no ping response is enabled with a value of 1 seconds flutter: 1-2021-07-31 13:57:40.601658 -- MqttConnectionHandlerBase::connect - server x.x.x.x, port 1883 flutter: 1-2021-07-31 13:57:40.602388 -- SynchronousMqttServerConnectionHandler::internalConnect entered flutter: 1-2021-07-31 13:57:40.602460 -- SynchronousMqttServerConnectionHandler::internalConnect - initiating connection try 0, auto reconnect in progress false flutter: 1-2021-07-31 13:57:40.602556 -- SynchronousMqttServerConnectionHandler::internalConnect - insecure TCP selected flutter: 1-2021-07-31 13:57:40.602692 -- SynchronousMqttServerConnectionHandler::internalConnect - calling connect flutter: 1-2021-07-31 13:57:40.602954 -- MqttNormalConnection::connect - entered flutter: 1-2021-07-31 13:57:40.970556 -- MqttServerConnection::_startListening flutter: 1-2021-07-31 13:57:40.973667 -- SynchronousMqttServerConnectionHandler::internalConnect - connection complete flutter: 1-2021-07-31 13:57:40.973801 -- SynchronousMqttServerConnectionHandler::internalConnect sending connect message flutter: 1-2021-07-31 13:57:40.974333 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.connect Header: MessageType = MqttMessageType.connect, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 Connect Variable Header: ProtocolName=MQIsdp, ProtocolVersion=3, ConnectFlags=Connect Flags: Reserved1=false, CleanStart=true, WillFlag=true, WillQos=MqttQos.atLeastOnce, WillRetain=false, PasswordFlag=false, UserNameFlag=false, KeepAlive=5 MqttConnectPayload - client identifier is : Flutter_iOS flutter: 1-2021-07-31 13:57:40.984895 -- SynchronousMqttServerConnectionHandler::internalConnect - pre sleep, state = Connection status is connecting with return code of noneSpecified and a disconnection origin of none flutter: 1-2021-07-31 13:57:41.283021 -- MqttConnection::_onData flutter: 1-2021-07-31 13:57:41.293485 -- MqttServerConnection::_onData - message received MQTTMessage of type MqttMessageType.connectAck Header: MessageType = MqttMessageType.connectAck, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 2 Connect Variable Header: TopicNameCompressionResponse={0}, ReturnCode={MqttConnectReturnCode.connectionAccepted} flutter: 1-2021-07-31 13:57:41.296978 -- MqttServerConnection::_onData - message available event fired flutter: 1-2021-07-31 13:57:41.300250 -- MqttConnectionHandlerBase::_connectAckProcessor flutter: 1-2021-07-31 13:57:41.300610 -- MqttConnectionHandlerBase:_connectAckProcessor - state = connected flutter: EXAMPLE::Mosquitto client connected.... flutter: 1-2021-07-31 13:57:41.307032 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.subscribe Header: MessageType = MqttMessageType.subscribe, Duplicate = false, Retain = false, Qos = MqttQos.atLeastOnce, Size = 0 Subscribe Variable Header: MessageIdentifier={1} Payload: Subscription [{1}] {{ Topic={#}, Qos={MqttQos.atLeastOnce} }} flutter: 1-2021-07-31 13:57:41.309139 -- MqttConnectionHandlerBase:: cancelling connect timer flutter: 1-2021-07-31 13:57:41.309509 -- SynchronousMqttServerConnectionHandler::internalConnect - post sleep, state = Connection status is connected with return code of connectionAccepted and a disconnection origin of none flutter: 1-2021-07-31 13:57:41.309619 -- SynchronousMqttServerConnectionHandler::internalConnect exited with state Connection status is connected with return code of connectionAccepted and a disconnection origin of none flutter: 1-2021-07-31 13:57:41.591679 -- MqttConnection::_onData flutter: 1-2021-07-31 13:57:41.596709 -- MqttServerConnection::_onData - message received MQTTMessage of type MqttMessageType.subscribeAck Header: MessageType = MqttMessageType.subscribeAck, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 3 SubscribeAck Variable Header: MessageIdentifier={1} Payload: Qos grants [{1}] {{ Grant={MqttQos.atLeastOnce} }} flutter: 1-2021-07-31 13:57:41.598991 -- MqttServerConnection::_onData - message available event fired flutter: 1-2021-07-31 13:57:41.600267 -- MqttConnectionHandlerBase::messageAvailable - message type is MqttMessageType.subscribeAck flutter: EXAMPLE::Subscription confirmed for topic # flutter: 1-2021-07-31 13:57:44.133951 -- MqttConnection::_onData flutter: 1-2021-07-31 13:57:44.141698 -- MqttServerConnection::_onData - message received MQTTMessage of type MqttMessageType.publish Header: MessageType = MqttMessageType.publish, Duplicate = false, Retain = false, Qos = MqttQos.atLeastOnce, Size = 658 Publish Variable Header: TopicName={Open/Inverter/InverterValues}, MessageIdentifier={1}, VH Length={32} Payload: {626 bytes={<123><34> flutter: 1-2021-07-31 13:57:44.147723 -- MqttServerConnection::_onData - message available event fired flutter: 1-2021-07-31 13:57:44.148029 -- MqttConnectionHandlerBase::messageAvailable - message type is MqttMessageType.publish flutter: 1-2021-07-31 13:57:44.149940 -- PublishingManager::handlePublish - publish received from broker with topic Open/Inverter/InverterValues flutter: 1-2021-07-31 13:57:44.151475 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.publishAck Header: MessageType = MqttMessageType.publishAck, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 PublishAck Variable Header: MessageIdentifier={1} flutter: 1-2021-07-31 13:57:45.609622 -- MqttConnectionKeepAlive::pingRequired flutter: 1-2021-07-31 13:57:45.610920 -- MqttConnectionKeepAlive::pingRequired - sending ping request flutter: 1-2021-07-31 13:57:45.611205 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.pingRequest Header: MessageType = MqttMessageType.pingRequest, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 flutter: 1-2021-07-31 13:57:45.612921 -- MqttConnectionKeepAlive::pingRequired - restarting ping timer flutter: 1-2021-07-31 13:57:45.613979 -- MqttConnectionKeepAlive::pingRequired - starting disconnect timer flutter: 1-2021-07-31 13:57:46.621962 -- MqttConnectionKeepAlive::noPingResponseReceived - disconnecting flutter: Disconnected flutter: 1-2021-07-31 13:57:48.804834 -- MqttConnectionHandlerBase::disconnect - entered flutter: 1-2021-07-31 13:57:48.804962 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.disconnect Header: MessageType = MqttMessageType.disconnect, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 flutter: 1-2021-07-31 13:57:48.805241 -- MqttConnectionHandlerBase::_performConnectionDisconnect entered flutter: 1-2021-07-31 13:57:48.805779 -- MqttConnectionKeepAlive::stop - stopping keep alive flutter: EXAMPLE::OnDisconnected client callback - Client disconnection flutter: EXAMPLE::Mosquitto client connecting.... flutter: EXAMPLE::Mosquitto start client connecting.... flutter: 2-2021-07-31 13:57:49.674962 -- MqttClient::connect - keep alive is enabled with a value of 5 seconds flutter: 2-2021-07-31 13:57:49.675289 -- MqttConnectionKeepAlive:: Initialised with a keep alive value of 5 seconds flutter: 2-2021-07-31 13:57:49.675450 -- MqttConnectionKeepAlive:: Disconnect on no ping response is enabled with a value of 1 seconds flutter: 2-2021-07-31 13:57:49.675556 -- MqttConnectionHandlerBase::connect - server x.x.x.x, port 1883 flutter: 2-2021-07-31 13:57:49.675629 -- SynchronousMqttServerConnectionHandler::internalConnect entered flutter: 2-2021-07-31 13:57:49.675696 -- SynchronousMqttServerConnectionHandler::internalConnect - initiating connection try 0, auto reconnect in progress false flutter: 2-2021-07-31 13:57:49.675770 -- SynchronousMqttServerConnectionHandler::internalConnect - insecure TCP selected flutter: 2-2021-07-31 13:57:49.675840 -- SynchronousMqttServerConnectionHandler::internalConnect - calling connect flutter: 2-2021-07-31 13:57:49.675903 -- MqttNormalConnection::connect - entered flutter: 2-2021-07-31 13:57:49.920262 -- MqttServerConnection::_startListening flutter: 2-2021-07-31 13:57:49.920770 -- SynchronousMqttServerConnectionHandler::internalConnect - connection complete flutter: 2-2021-07-31 13:57:49.920873 -- SynchronousMqttServerConnectionHandler::internalConnect sending connect message flutter: 2-2021-07-31 13:57:49.920944 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.connect Header: MessageType = MqttMessageType.connect, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 Connect Variable Header: ProtocolName=MQIsdp, ProtocolVersion=3, ConnectFlags=Connect Flags: Reserved1=false, CleanStart=true, WillFlag=true, WillQos=MqttQos.atLeastOnce, WillRetain=false, PasswordFlag=false, UserNameFlag=false, KeepAlive=5 MqttConnectPayload - client identifier is : Flutter_iOS flutter: 2-2021-07-31 13:57:49.921911 -- SynchronousMqttServerConnectionHandler::internalConnect - pre sleep, state = Connection status is connecting with return code of noneSpecified and a disconnection origin of none flutter: 2-2021-07-31 13:57:50.180026 -- MqttConnection::_onData flutter: 2-2021-07-31 13:57:50.180628 -- MqttServerConnection::_onData - message received MQTTMessage of type MqttMessageType.connectAck Header: MessageType = MqttMessageType.connectAck, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 2 Connect Variable Header: TopicNameCompressionResponse={0}, ReturnCode={MqttConnectReturnCode.connectionAccepted} flutter: 2-2021-07-31 13:57:50.181061 -- MqttServerConnection::_onData - message available event fired flutter: 2-2021-07-31 13:57:50.181522 -- MqttConnectionHandlerBase::_connectAckProcessor flutter: 2-2021-07-31 13:57:50.181835 -- MqttConnectionHandlerBase:_connectAckProcessor - state = connected flutter: EXAMPLE::Mosquitto client connected.... flutter: 2-2021-07-31 13:57:50.182987 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.subscribe Header: MessageType = MqttMessageType.subscribe, Duplicate = false, Retain = false, Qos = MqttQos.atLeastOnce, Size = 0 Subscribe Variable Header: MessageIdentifier={2} Payload: Subscription [{1}] {{ Topic={#}, Qos={MqttQos.atLeastOnce} }} flutter: 2-2021-07-31 13:57:50.184792 -- MqttConnectionHandlerBase:: cancelling connect timer flutter: 2-2021-07-31 13:57:50.185273 -- SynchronousMqttServerConnectionHandler::internalConnect - post sleep, state = Connection status is connected with return code of connectionAccepted and a disconnection origin of none flutter: 2-2021-07-31 13:57:50.185529 -- SynchronousMqttServerConnectionHandler::internalConnect exited with state Connection status is connected with return code of connectionAccepted and a disconnection origin of none flutter: 2-2021-07-31 13:57:50.427991 -- MqttConnection::_onData flutter: 2-2021-07-31 13:57:50.428517 -- MqttServerConnection::_onData - message received MQTTMessage of type MqttMessageType.subscribeAck Header: MessageType = MqttMessageType.subscribeAck, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 3 SubscribeAck Variable Header: MessageIdentifier={2} Payload: Qos grants [{1}] {{ Grant={MqttQos.atLeastOnce} }} flutter: 2-2021-07-31 13:57:50.428871 -- MqttServerConnection::_onData - message available event fired flutter: 2-2021-07-31 13:57:50.429140 -- MqttConnectionHandlerBase::messageAvailable - message type is MqttMessageType.subscribeAck flutter: EXAMPLE::Subscription confirmed for topic # flutter: 2-2021-07-31 13:57:51.642010 -- MqttConnection::_onData flutter: 2-2021-07-31 13:57:51.644807 -- MqttServerConnection::_onData - message received MQTTMessage of type MqttMessageType.publish Header: MessageType = MqttMessageType.publish, Duplicate = false, Retain = false, Qos = MqttQos.atLeastOnce, Size = 661 Publish Variable Header: TopicName={Open/Inverter/InverterValues}, MessageIdentifier={1}, VH Length={32} Payload: {629 bytes={<123><34> flutter: 2-2021-07-31 13:57:51.647742 -- MqttServerConnection::_onData - message available event fired flutter: 2-2021-07-31 13:57:51.648324 -- MqttConnectionHandlerBase::messageAvailable - message type is MqttMessageType.publish flutter: 2-2021-07-31 13:57:51.648643 -- PublishingManager::handlePublish - publish received from broker with topic Open/Inverter/InverterValues flutter: 2-2021-07-31 13:57:51.648937 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.publishAck Header: MessageType = MqttMessageType.publishAck, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 PublishAck Variable Header: MessageIdentifier={1} flutter: 2-2021-07-31 13:57:54.243596 -- MqttConnection::_onData flutter: 2-2021-07-31 13:57:54.246566 -- MqttServerConnection::_onData - message received MQTTMessage of type MqttMessageType.publish Header: MessageType = MqttMessageType.publish, Duplicate = false, Retain = false, Qos = MqttQos.atLeastOnce, Size = 661 Publish Variable Header: TopicName={Open/Inverter/InverterValues}, MessageIdentifier={2}, VH Length={32} Payload: {629 bytes={<123><34> flutter: 2-2021-07-31 13:57:54.249491 -- MqttServerConnection::_onData - message available event fired flutter: 2-2021-07-31 13:57:54.250078 -- MqttConnectionHandlerBase::messageAvailable - message type is MqttMessageType.publish flutter: 2-2021-07-31 13:57:54.250843 -- PublishingManager::handlePublish - publish received from broker with topic Open/Inverter/InverterValues flutter: 2-2021-07-31 13:57:54.251234 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.publishAck Header: MessageType = MqttMessageType.publishAck, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 PublishAck Variable Header: MessageIdentifier={2} flutter: 2-2021-07-31 13:57:54.681832 -- MqttConnectionKeepAlive::pingRequired flutter: 2-2021-07-31 13:57:54.682291 -- MqttConnectionKeepAlive::pingRequired - sending ping request flutter: 2-2021-07-31 13:57:54.682459 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.pingRequest Header: MessageType = MqttMessageType.pingRequest, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 flutter: 2-2021-07-31 13:57:54.683631 -- MqttConnectionKeepAlive::pingRequired - restarting ping timer flutter: 2-2021-07-31 13:57:54.684099 -- MqttConnectionKeepAlive::pingRequired - starting disconnect timer flutter: 2-2021-07-31 13:57:54.927255 -- MqttConnection::_onData flutter: 2-2021-07-31 13:57:54.928269 -- MqttServerConnection::_onData - message received MQTTMessage of type MqttMessageType.pingResponse Header: MessageType = MqttMessageType.pingResponse, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 flutter: 2-2021-07-31 13:57:54.929063 -- MqttServerConnection::_onData - message available event fired flutter: 2-2021-07-31 13:57:54.929444 -- MqttConnectionHandlerBase::messageAvailable - message type is MqttMessageType.pingResponse flutter: 2-2021-07-31 13:57:54.930313 -- MqttConnectionKeepAlive::pingResponseReceived flutter: 2-2021-07-31 13:57:56.910232 -- MqttConnection::_onData flutter: 2-2021-07-31 13:57:56.912573 -- MqttServerConnection::_onData - message received MQTTMessage of type MqttMessageType.publish Header: MessageType = MqttMessageType.publish, Duplicate = false, Retain = false, Qos = MqttQos.atLeastOnce, Size = 654 Publish Variable Header: TopicName={Open/Inverter/InverterValues}, MessageIdentifier={3}, VH Length={32} Payload: {622 bytes={<123><34> flutter: 2-2021-07-31 13:57:56.914911 -- MqttServerConnection::_onData - message available event fired flutter: 2-2021-07-31 13:57:56.915892 -- MqttConnectionHandlerBase::messageAvailable - message type is MqttMessageType.publish flutter: 2-2021-07-31 13:57:56.916268 -- PublishingManager::handlePublish - publish received from broker with topic Open/Inverter/InverterValues flutter: 2-2021-07-31 13:57:56.916676 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.publishAck Header: MessageType = MqttMessageType.publishAck, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 PublishAck Variable Header: MessageIdentifier={3} [....] Disconnected 00008101-000171C401E2001E Application finished. Exited (sigterm)


shamblett commented 3 years ago

The problem seems to be here -

flutter: 1-2021-07-31 13:48:47.152413 -- MqttConnectionKeepAlive::noPingResponseReceived - disconnecting

At this point an event is fired to start the disconnect processing, I've no idea why this is not happening for you.

This is what happens when I run the mqtt_server_client_keepalive_disconnect.dart test and just disconnect my network interface -

1-2021-08-01 10:50:59.919725 -- MqttConnectionKeepAlive::pingRequired - restarting disconnect timer
1-2021-08-01 10:51:00.920112 -- MqttConnectionKeepAlive::noPingResponseReceived - disconnecting
1-2021-08-01 10:51:00.920345 -- MqttClient::_disconnectOnNoPingResponse - disconnecting, no ping request response for 1 seconds
1-2021-08-01 10:51:00.921024 -- MqttConnectionKeepAlive::stop - stopping keep alive
EXAMPLE::OnDisconnected client callback - Client disconnection
EXAMPLE::OnDisconnected callback is unsolicited, this is correct

As you can see I get the -

1-2021-08-01 10:51:00.920345 -- MqttClient::_disconnectOnNoPingResponse - disconnecting, no ping request response for 1 seconds

line that you are not seeing for some reason.

OK, I've added extra logging to the code to try and see what is happening, if you point your client to the git repo in the pubspec.yaml file and set the branch to 'issue302' we may see whats going on.

JacoFourie commented 3 years ago

The problem seems to be here -

flutter: 1-2021-07-31 13:48:47.152413 -- MqttConnectionKeepAlive::noPingResponseReceived - disconnecting

At this point an event is fired to start the disconnect processing, I've no idea why this is not happening for you.

This is what happens when I run the mqtt_server_client_keepalive_disconnect.dart test and just disconnect my network interface -

1-2021-08-01 10:50:59.919725 -- MqttConnectionKeepAlive::pingRequired - restarting disconnect timer
1-2021-08-01 10:51:00.920112 -- MqttConnectionKeepAlive::noPingResponseReceived - disconnecting
1-2021-08-01 10:51:00.920345 -- MqttClient::_disconnectOnNoPingResponse - disconnecting, no ping request response for 1 seconds
1-2021-08-01 10:51:00.921024 -- MqttConnectionKeepAlive::stop - stopping keep alive
EXAMPLE::OnDisconnected client callback - Client disconnection
EXAMPLE::OnDisconnected callback is unsolicited, this is correct

As you can see I get the -

1-2021-08-01 10:51:00.920345 -- MqttClient::_disconnectOnNoPingResponse - disconnecting, no ping request response for 1 seconds

line that you are not seeing for some reason.

OK, I've added extra logging to the code to try and see what is happening, if you point your client to the git repo in the pubspec.yaml file and set the branch to 'issue302' we may see whats going on.

How do I get the new package into the project from GIT? Sorry I am new to Flutter and VS Code. I know how to get it from the distro but not your git repo

JacoFourie commented 3 years ago

OK I found this. Will try it out.

https://stackoverflow.com/questions/54022704/how-to-add-a-package-from-github-in-flutter

shamblett commented 3 years ago

Yes, also here https://dart.dev/tools/pub/dependencies#git-packages

JacoFourie commented 3 years ago

OK not sure what you changed but now it seems to work correctly. I connect on WiFi and let the data come it and then disable the WiFi and it will disconnect and reconnect correctly on the mobile side. Then I will enable WiFi again and the data will keep on coming in.

flutter: EXAMPLE::Mosquitto client connecting.... flutter: EXAMPLE::Mosquitto start client connecting.... flutter: 1-2021-08-02 10:21:38.587134 -- MqttClient::connect - keep alive is enabled with a value of 5 seconds flutter: 1-2021-08-02 10:21:38.588192 -- MqttConnectionKeepAlive:: Initialised with a keep alive value of 5 seconds flutter: 1-2021-08-02 10:21:38.588224 -- MqttConnectionKeepAlive:: Disconnect on no ping response is enabled with a value of 1 seconds flutter: 1-2021-08-02 10:21:38.588602 -- MqttConnectionHandlerBase::connect - server x.x.x.x, port 1883 flutter: 1-2021-08-02 10:21:38.589185 -- SynchronousMqttServerConnectionHandler::internalConnect entered flutter: 1-2021-08-02 10:21:38.589251 -- SynchronousMqttServerConnectionHandler::internalConnect - initiating connection try 0, auto reconnect in progress false flutter: 1-2021-08-02 10:21:38.589334 -- SynchronousMqttServerConnectionHandler::internalConnect - insecure TCP selected flutter: 1-2021-08-02 10:21:38.589456 -- SynchronousMqttServerConnectionHandler::internalConnect - calling connect flutter: 1-2021-08-02 10:21:38.589651 -- MqttNormalConnection::connect - entered flutter: 1-2021-08-02 10:21:38.795501 -- MqttServerConnection::_startListening flutter: 1-2021-08-02 10:21:38.796357 -- SynchronousMqttServerConnectionHandler::internalConnect - connection complete flutter: 1-2021-08-02 10:21:38.796395 -- SynchronousMqttServerConnectionHandler::internalConnect sending connect message flutter: 1-2021-08-02 10:21:38.796497 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.connect Header: MessageType = MqttMessageType.connect, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 Connect Variable Header: ProtocolName=MQIsdp, ProtocolVersion=3, ConnectFlags=Connect Flags: Reserved1=false, CleanStart=true, WillFlag=true, WillQos=MqttQos.atLeastOnce, WillRetain=false, PasswordFlag=false, UserNameFlag=false, KeepAlive=5 MqttConnectPayload - client identifier is : Flutter_iOS flutter: 1-2021-08-02 10:21:38.799613 -- SynchronousMqttServerConnectionHandler::internalConnect - pre sleep, state = Connection status is connecting with return code of noneSpecified and a disconnection origin of none flutter: 1-2021-08-02 10:21:39.008374 -- MqttConnection::_onData flutter: 1-2021-08-02 10:21:39.016656 -- MqttServerConnection::_onData - message received MQTTMessage of type MqttMessageType.connectAck Header: MessageType = MqttMessageType.connectAck, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 2 Connect Variable Header: TopicNameCompressionResponse={0}, ReturnCode={MqttConnectReturnCode.connectionAccepted} flutter: 1-2021-08-02 10:21:39.019918 -- MqttServerConnection::_onData - message available event fired flutter: 1-2021-08-02 10:21:39.022625 -- MqttConnectionHandlerBase::_connectAckProcessor flutter: 1-2021-08-02 10:21:39.023027 -- MqttConnectionHandlerBase:_connectAckProcessor - state = connected flutter: EXAMPLE::Mosquitto client connected.... flutter: 1-2021-08-02 10:21:39.030063 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.subscribe Header: MessageType = MqttMessageType.subscribe, Duplicate = false, Retain = false, Qos = MqttQos.atLeastOnce, Size = 0 Subscribe Variable Header: MessageIdentifier={1} Payload: Subscription [{1}] {{ Topic={#}, Qos={MqttQos.atLeastOnce} }} flutter: 1-2021-08-02 10:21:39.032016 -- MqttConnectionHandlerBase:: cancelling connect timer flutter: 1-2021-08-02 10:21:39.032363 -- SynchronousMqttServerConnectionHandler::internalConnect - post sleep, state = Connection status is connected with return code of connectionAccepted and a disconnection origin of none flutter: 1-2021-08-02 10:21:39.032467 -- SynchronousMqttServerConnectionHandler::internalConnect exited with state Connection status is connected with return code of connectionAccepted and a disconnection origin of none flutter: 1-2021-08-02 10:21:39.229442 -- MqttConnection::_onData flutter: 1-2021-08-02 10:21:39.232149 -- MqttServerConnection::_onData - message received MQTTMessage of type MqttMessageType.subscribeAck Header: MessageType = MqttMessageType.subscribeAck, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 3 SubscribeAck Variable Header: MessageIdentifier={1} Payload: Qos grants [{1}] {{ Grant={MqttQos.atLeastOnce} }} flutter: 1-2021-08-02 10:21:39.233312 -- MqttServerConnection::_onData - message available event fired flutter: 1-2021-08-02 10:21:39.234094 -- MqttConnectionHandlerBase::messageAvailable - message type is MqttMessageType.subscribeAck flutter: EXAMPLE::Subscription confirmed for topic # flutter: 1-2021-08-02 10:21:41.083495 -- MqttConnection::_onData flutter: 1-2021-08-02 10:21:41.091784 -- MqttServerConnection::_onData - message received MQTTMessage of type MqttMessageType.publish Header: MessageType = MqttMessageType.publish, Duplicate = false, Retain = false, Qos = MqttQos.atLeastOnce, Size = 662 Publish Variable Header: TopicName={Open/Inverter/InverterValues}, MessageIdentifier={1}, VH Length={32} Payload: {630 bytes={<123><34> flutter: 1-2021-08-02 10:21:41.096553 -- MqttServerConnection::_onData - message available event fired flutter: 1-2021-08-02 10:21:41.096949 -- MqttConnectionHandlerBase::messageAvailable - message type is MqttMessageType.publish flutter: 1-2021-08-02 10:21:41.099076 -- PublishingManager::handlePublish - publish received from broker with topic Open/Inverter/InverterValues flutter: 1-2021-08-02 10:21:41.100704 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.publishAck Header: MessageType = MqttMessageType.publishAck, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 PublishAck Variable Header: MessageIdentifier={1} flutter: 1-2021-08-02 10:21:43.593709 -- MqttConnectionKeepAlive::pingRequired flutter: 1-2021-08-02 10:21:43.595305 -- MqttConnectionKeepAlive::pingRequired - sending ping request flutter: 1-2021-08-02 10:21:43.596175 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.pingRequest Header: MessageType = MqttMessageType.pingRequest, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 flutter: 1-2021-08-02 10:21:43.597515 -- MqttConnectionKeepAlive::pingRequired - restarting ping timer flutter: 1-2021-08-02 10:21:43.598373 -- MqttConnectionKeepAlive::pingRequired - starting disconnect timer flutter: 1-2021-08-02 10:21:43.712370 -- MqttConnection::_onData flutter: 1-2021-08-02 10:21:43.715142 -- MqttServerConnection::_onData - message received MQTTMessage of type MqttMessageType.publish Header: MessageType = MqttMessageType.publish, Duplicate = false, Retain = false, Qos = MqttQos.atLeastOnce, Size = 662 Publish Variable Header: TopicName={Open/Inverter/InverterValues}, MessageIdentifier={2}, VH Length={32} Payload: {630 bytes={<123><34> flutter: 1-2021-08-02 10:21:43.719146 -- MqttServerConnection::_onData - message available event fired flutter: 1-2021-08-02 10:21:43.719974 -- MqttConnectionHandlerBase::messageAvailable - message type is MqttMessageType.publish flutter: 1-2021-08-02 10:21:43.720500 -- PublishingManager::handlePublish - publish received from broker with topic Open/Inverter/InverterValues flutter: 1-2021-08-02 10:21:43.720839 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.publishAck Header: MessageType = MqttMessageType.publishAck, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 PublishAck Variable Header: MessageIdentifier={2} flutter: 1-2021-08-02 10:21:43.903573 -- MqttConnection::_onData flutter: 1-2021-08-02 10:21:43.904268 -- MqttServerConnection::_onData - message received MQTTMessage of type MqttMessageType.pingResponse Header: MessageType = MqttMessageType.pingResponse, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 flutter: 1-2021-08-02 10:21:43.904681 -- MqttServerConnection::_onData - message available event fired flutter: 1-2021-08-02 10:21:43.905261 -- MqttConnectionHandlerBase::messageAvailable - message type is MqttMessageType.pingResponse flutter: 1-2021-08-02 10:21:43.905991 -- MqttConnectionKeepAlive::pingResponseReceived flutter: 1-2021-08-02 10:21:48.600705 -- MqttConnectionKeepAlive::pingRequired flutter: 1-2021-08-02 10:21:48.601144 -- MqttConnectionKeepAlive::pingRequired - sending ping request flutter: 1-2021-08-02 10:21:48.601318 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.pingRequest Header: MessageType = MqttMessageType.pingRequest, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 flutter: 1-2021-08-02 10:21:48.601967 -- MqttConnectionKeepAlive::pingRequired - restarting ping timer flutter: 1-2021-08-02 10:21:48.602283 -- MqttConnectionKeepAlive::pingRequired - restarting disconnect timer flutter: 1-2021-08-02 10:21:49.610911 -- MqttConnectionKeepAlive::noPingResponseReceived - connected, attempting to disconnect flutter: 1-2021-08-02 10:21:49.611913 -- MqttConnectionKeepAlive::noPingResponseReceived - OK - disconnect event fired flutter: 1-2021-08-02 10:21:49.613255 -- MqttClient::_disconnectOnNoPingResponse - disconnecting, no ping request response for 1 seconds flutter: 1-2021-08-02 10:21:49.617942 -- MqttConnectionHandlerBase::autoReconnect entered flutter: 1-2021-08-02 10:21:49.622466 -- MqttConnectionBase::_onDone - calling disconnected callback flutter: 1-2021-08-02 10:21:49.622768 -- MqttClient::internalDisconnect - not invoking auto connect, already in progress flutter: 1-2021-08-02 10:21:49.623009 -- MqttConnectionHandlerBase::autoReconnect - attempting reconnection flutter: 1-2021-08-02 10:21:49.623586 -- MqttConnectionHandlerBase::connect - server x.x.x.x, port 1883 flutter: 1-2021-08-02 10:21:49.623815 -- SynchronousMqttServerConnectionHandler::internalConnect entered flutter: 1-2021-08-02 10:21:49.623904 -- SynchronousMqttServerConnectionHandler::internalConnect - initiating connection try 0, auto reconnect in progress true flutter: 1-2021-08-02 10:21:49.624038 -- SynchronousMqttServerConnectionHandler::internalConnect - calling connectAuto flutter: 1-2021-08-02 10:21:49.624937 -- MqttNormalConnection::connectAuto - entered flutter: 1-2021-08-02 10:21:49.904870 -- MqttServerConnection::_startListening flutter: 1-2021-08-02 10:21:49.905365 -- SynchronousMqttServerConnectionHandler::internalConnect - connection complete flutter: 1-2021-08-02 10:21:49.905603 -- SynchronousMqttServerConnectionHandler::internalConnect sending connect message flutter: 1-2021-08-02 10:21:49.905903 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.connect Header: MessageType = MqttMessageType.connect, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 53 Connect Variable Header: ProtocolName=MQIsdp, ProtocolVersion=3, ConnectFlags=Connect Flags: Reserved1=false, CleanStart=true, WillFlag=true, WillQos=MqttQos.atLeastOnce, WillRetain=false, PasswordFlag=false, UserNameFlag=false, KeepAlive=5 MqttConnectPayload - client identifier is : Flutter_iOS flutter: 1-2021-08-02 10:21:49.907748 -- SynchronousMqttServerConnectionHandler::internalConnect - pre sleep, state = Connection status is connecting with return code of noneSpecified and a disconnection origin of none flutter: 1-2021-08-02 10:21:50.158411 -- MqttConnection::_onData flutter: 1-2021-08-02 10:21:50.158826 -- MqttServerConnection::_onData - message received MQTTMessage of type MqttMessageType.connectAck Header: MessageType = MqttMessageType.connectAck, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 2 Connect Variable Header: TopicNameCompressionResponse={0}, ReturnCode={MqttConnectReturnCode.connectionAccepted} flutter: 1-2021-08-02 10:21:50.159333 -- MqttServerConnection::_onData - message available event fired flutter: 1-2021-08-02 10:21:50.159818 -- MqttConnectionHandlerBase::_connectAckProcessor flutter: 1-2021-08-02 10:21:50.160034 -- MqttConnectionHandlerBase:_connectAckProcessor - state = connected flutter: EXAMPLE::Mosquitto client connected.... flutter: 1-2021-08-02 10:21:50.160755 -- MqttConnectionHandlerBase:: cancelling connect timer flutter: 1-2021-08-02 10:21:50.161356 -- SynchronousMqttServerConnectionHandler::internalConnect - post sleep, state = Connection status is connected with return code of connectionAccepted and a disconnection origin of none flutter: 1-2021-08-02 10:21:50.161645 -- SynchronousMqttServerConnectionHandler::internalConnect exited with state Connection status is connected with return code of connectionAccepted and a disconnection origin of none flutter: 1-2021-08-02 10:21:50.162722 -- MqttConnectionHandlerBase::autoReconnect - auto reconnect complete flutter: 1-2021-08-02 10:21:50.164697 -- Subscriptionsmanager::_resubscribe - resubscribing from auto reconnect true flutter: 1-2021-08-02 10:21:50.165295 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.subscribe Header: MessageType = MqttMessageType.subscribe, Duplicate = false, Retain = false, Qos = MqttQos.atLeastOnce, Size = 0 Subscribe Variable Header: MessageIdentifier={2} Payload: Subscription [{1}] {{ Topic={#}, Qos={MqttQos.atLeastOnce} }} flutter: 1-2021-08-02 10:21:50.410179 -- MqttConnection::_onData flutter: 1-2021-08-02 10:21:50.410802 -- MqttServerConnection::_onData - message received MQTTMessage of type MqttMessageType.subscribeAck Header: MessageType = MqttMessageType.subscribeAck, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 3 SubscribeAck Variable Header: MessageIdentifier={2} Payload: Qos grants [{1}] {{ Grant={MqttQos.atLeastOnce} }} flutter: 1-2021-08-02 10:21:50.411381 -- MqttServerConnection::_onData - message available event fired flutter: 1-2021-08-02 10:21:50.411861 -- MqttConnectionHandlerBase::messageAvailable - message type is MqttMessageType.subscribeAck flutter: EXAMPLE::Subscription confirmed for topic # flutter: 1-2021-08-02 10:21:52.002724 -- MqttConnection::_onData flutter: 1-2021-08-02 10:21:52.005188 -- MqttServerConnection::_onData - message received MQTTMessage of type MqttMessageType.publish Header: MessageType = MqttMessageType.publish, Duplicate = false, Retain = false, Qos = MqttQos.atLeastOnce, Size = 663 Publish Variable Header: TopicName={Open/Inverter/InverterValues}, MessageIdentifier={1}, VH Length={32} Payload: {631 bytes={<123><34> flutter: 1-2021-08-02 10:21:52.008117 -- MqttServerConnection::_onData - message available event fired flutter: 1-2021-08-02 10:21:52.008654 -- MqttConnectionHandlerBase::messageAvailable - message type is MqttMessageType.publish flutter: 1-2021-08-02 10:21:52.009154 -- PublishingManager::handlePublish - publish received from broker with topic Open/Inverter/InverterValues flutter: 1-2021-08-02 10:21:52.009534 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.publishAck Header: MessageType = MqttMessageType.publishAck, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 PublishAck Variable Header: MessageIdentifier={1} flutter: 1-2021-08-02 10:21:53.608058 -- MqttConnectionKeepAlive::pingRequired flutter: 1-2021-08-02 10:21:53.608543 -- MqttConnectionKeepAlive::pingRequired - sending ping request flutter: 1-2021-08-02 10:21:53.608720 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.pingRequest Header: MessageType = MqttMessageType.pingRequest, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 flutter: 1-2021-08-02 10:21:53.609531 -- MqttConnectionKeepAlive::pingRequired - restarting ping timer flutter: 1-2021-08-02 10:21:53.609832 -- MqttConnectionKeepAlive::pingRequired - restarting disconnect timer flutter: 1-2021-08-02 10:21:53.884597 -- MqttConnection::_onData flutter: 1-2021-08-02 10:21:53.885042 -- MqttServerConnection::_onData - message received MQTTMessage of type MqttMessageType.pingResponse Header: MessageType = MqttMessageType.pingResponse, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 flutter: 1-2021-08-02 10:21:53.885587 -- MqttServerConnection::_onData - message available event fired flutter: 1-2021-08-02 10:21:53.885903 -- MqttConnectionHandlerBase::messageAvailable - message type is MqttMessageType.pingResponse flutter: 1-2021-08-02 10:21:53.886114 -- MqttConnectionKeepAlive::pingResponseReceived flutter: 1-2021-08-02 10:21:56.391230 -- MqttConnection::_onData flutter: 1-2021-08-02 10:21:56.393450 -- MqttServerConnection::_onData - message received MQTTMessage of type MqttMessageType.publish Header: MessageType = MqttMessageType.publish, Duplicate = false, Retain = false, Qos = MqttQos.atLeastOnce, Size = 663 Publish Variable Header: TopicName={Open/Inverter/InverterValues}, MessageIdentifier={2}, VH Length={32} Payload: {631 bytes={<123><34> flutter: 1-2021-08-02 10:21:56.396176 -- MqttServerConnection::_onData - message available event fired flutter: 1-2021-08-02 10:21:56.396676 -- MqttConnectionHandlerBase::messageAvailable - message type is MqttMessageType.publish flutter: 1-2021-08-02 10:21:56.396991 -- PublishingManager::handlePublish - publish received from broker with topic Open/Inverter/InverterValues flutter: 1-2021-08-02 10:21:56.397310 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.publishAck Header: MessageType = MqttMessageType.publishAck, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 PublishAck Variable Header: MessageIdentifier={2} flutter: 1-2021-08-02 10:21:58.616165 -- MqttConnectionKeepAlive::pingRequired flutter: 1-2021-08-02 10:21:58.616647 -- MqttConnectionKeepAlive::pingRequired - sending ping request flutter: 1-2021-08-02 10:21:58.616814 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.pingRequest Header: MessageType = MqttMessageType.pingRequest, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 flutter: 1-2021-08-02 10:21:58.617667 -- MqttConnectionKeepAlive::pingRequired - restarting ping timer flutter: 1-2021-08-02 10:21:58.618078 -- MqttConnectionKeepAlive::pingRequired - restarting disconnect timer flutter: 1-2021-08-02 10:21:58.886143 -- MqttConnection::_onData flutter: 1-2021-08-02 10:21:58.886537 -- MqttServerConnection::_onData - message received MQTTMessage of type MqttMessageType.pingResponse Header: MessageType = MqttMessageType.pingResponse, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 flutter: 1-2021-08-02 10:21:58.887151 -- MqttServerConnection::_onData - message available event fired flutter: 1-2021-08-02 10:21:58.887617 -- MqttConnectionHandlerBase::messageAvailable - message type is MqttMessageType.pingResponse flutter: 1-2021-08-02 10:21:58.887875 -- MqttConnectionKeepAlive::pingResponseReceived flutter: 1-2021-08-02 10:21:59.090167 -- MqttConnection::_onData flutter: 1-2021-08-02 10:21:59.092161 -- MqttServerConnection::_onData - message received MQTTMessage of type MqttMessageType.publish Header: MessageType = MqttMessageType.publish, Duplicate = false, Retain = false, Qos = MqttQos.atLeastOnce, Size = 654 Publish Variable Header: TopicName={Open/Inverter/InverterValues}, MessageIdentifier={3}, VH Length={32} Payload: {622 bytes={<123><34> flutter: 1-2021-08-02 10:21:59.094336 -- MqttServerConnection::_onData - message available event fired flutter: 1-2021-08-02 10:21:59.094745 -- MqttConnectionHandlerBase::messageAvailable - message type is MqttMessageType.publish flutter: 1-2021-08-02 10:21:59.095155 -- PublishingManager::handlePublish - publish received from broker with topic Open/Inverter/InverterValues flutter: 1-2021-08-02 10:21:59.095487 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.publishAck Header: MessageType = MqttMessageType.publishAck, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 PublishAck Variable Header: MessageIdentifier={3} flutter: 1-2021-08-02 10:22:01.737407 -- MqttConnection::_onData flutter: 1-2021-08-02 10:22:01.739716 -- MqttServerConnection::_onData - message received MQTTMessage of type MqttMessageType.publish Header: MessageType = MqttMessageType.publish, Duplicate = false, Retain = false, Qos = MqttQos.atLeastOnce, Size = 662 Publish Variable Header: TopicName={Open/Inverter/InverterValues}, MessageIdentifier={4}, VH Length={32} Payload: {630 bytes={<123><34> flutter: 1-2021-08-02 10:22:01.741915 -- MqttServerConnection::_onData - message available event fired flutter: 1-2021-08-02 10:22:01.742307 -- MqttConnectionHandlerBase::messageAvailable - message type is MqttMessageType.publish flutter: 1-2021-08-02 10:22:01.742688 -- PublishingManager::handlePublish - publish received from broker with topic Open/Inverter/InverterValues flutter: 1-2021-08-02 10:22:01.743094 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.publishAck Header: MessageType = MqttMessageType.publishAck, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 PublishAck Variable Header: MessageIdentifier={4} flutter: 1-2021-08-02 10:22:03.624159 -- MqttConnectionKeepAlive::pingRequired flutter: 1-2021-08-02 10:22:03.624637 -- MqttConnectionKeepAlive::pingRequired - sending ping request flutter: 1-2021-08-02 10:22:03.624862 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.pingRequest Header: MessageType = MqttMessageType.pingRequest, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 flutter: 1-2021-08-02 10:22:03.626003 -- MqttConnectionKeepAlive::pingRequired - restarting ping timer flutter: 1-2021-08-02 10:22:03.626250 -- MqttConnectionKeepAlive::pingRequired - restarting disconnect timer flutter: 1-2021-08-02 10:22:03.890164 -- MqttConnection::_onData flutter: 1-2021-08-02 10:22:03.890777 -- MqttServerConnection::_onData - message received MQTTMessage of type MqttMessageType.pingResponse Header: MessageType = MqttMessageType.pingResponse, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 flutter: 1-2021-08-02 10:22:03.891301 -- MqttServerConnection::_onData - message available event fired flutter: 1-2021-08-02 10:22:03.891674 -- MqttConnectionHandlerBase::messageAvailable - message type is MqttMessageType.pingResponse flutter: 1-2021-08-02 10:22:03.891906 -- MqttConnectionKeepAlive::pingResponseReceived flutter: 1-2021-08-02 10:22:04.345595 -- MqttConnection::_onData flutter: 1-2021-08-02 10:22:04.347413 -- MqttServerConnection::_onData - message received MQTTMessage of type MqttMessageType.publish Header: MessageType = MqttMessageType.publish, Duplicate = false, Retain = false, Qos = MqttQos.atLeastOnce, Size = 662 Publish Variable Header: TopicName={Open/Inverter/InverterValues}, MessageIdentifier={5}, VH Length={32} Payload: {630 bytes={<123><34><108> flutter: 1-2021-08-02 10:22:04.349808 -- MqttServerConnection::_onData - message available event fired flutter: 1-2021-08-02 10:22:04.350355 -- MqttConnectionHandlerBase::messageAvailable - message type is MqttMessageType.publish flutter: 1-2021-08-02 10:22:04.350894 -- PublishingManager::handlePublish - publish received from broker with topic Open/Inverter/InverterValues flutter: 1-2021-08-02 10:22:04.351165 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.publishAck Header: MessageType = MqttMessageType.publishAck, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 PublishAck Variable Header: MessageIdentifier={5} flutter: 1-2021-08-02 10:22:06.959762 -- MqttConnection::_onData flutter: 1-2021-08-02 10:22:06.962065 -- MqttServerConnection::_onData - message received MQTTMessage of type MqttMessageType.publish Header: MessageType = MqttMessageType.publish, Duplicate = false, Retain = false, Qos = MqttQos.atLeastOnce, Size = 663 Publish Variable Header: TopicName={Open/Inverter/InverterValues}, MessageIdentifier={6}, VH Length={32} Payload: {631 bytes={<123><34> flutter: 1-2021-08-02 10:22:06.968667 -- MqttServerConnection::_onData - message available event fired flutter: 1-2021-08-02 10:22:06.969100 -- MqttConnectionHandlerBase::messageAvailable - message type is MqttMessageType.publish flutter: 1-2021-08-02 10:22:06.969316 -- PublishingManager::handlePublish - publish received from broker with topic Open/Inverter/InverterValues flutter: 1-2021-08-02 10:22:06.969535 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.publishAck Header: MessageType = MqttMessageType.publishAck, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 PublishAck Variable Header: MessageIdentifier={6} flutter: 1-2021-08-02 10:22:08.632584 -- MqttConnectionKeepAlive::pingRequired flutter: 1-2021-08-02 10:22:08.633075 -- MqttConnectionKeepAlive::pingRequired - sending ping request flutter: 1-2021-08-02 10:22:08.633334 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.pingRequest Header: MessageType = MqttMessageType.pingRequest, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 flutter: 1-2021-08-02 10:22:08.634091 -- MqttConnectionKeepAlive::pingRequired - restarting ping timer flutter: 1-2021-08-02 10:22:08.634561 -- MqttConnectionKeepAlive::pingRequired - restarting disconnect timer flutter: 1-2021-08-02 10:22:08.903289 -- MqttConnection::_onData flutter: 1-2021-08-02 10:22:08.903718 -- MqttServerConnection::_onData - message received MQTTMessage of type MqttMessageType.pingResponse Header: MessageType = MqttMessageType.pingResponse, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 flutter: 1-2021-08-02 10:22:08.904207 -- MqttServerConnection::_onData - message available event fired flutter: 1-2021-08-02 10:22:08.904617 -- MqttConnectionHandlerBase::messageAvailable - message type is MqttMessageType.pingResponse flutter: 1-2021-08-02 10:22:08.904832 -- MqttConnectionKeepAlive::pingResponseReceived flutter: 1-2021-08-02 10:22:09.515655 -- MqttConnection::_onData flutter: 1-2021-08-02 10:22:09.517196 -- MqttServerConnection::_onData - message received MQTTMessage of type MqttMessageType.publish Header: MessageType = MqttMessageType.publish, Duplicate = false, Retain = false, Qos = MqttQos.atLeastOnce, Size = 663 Publish Variable Header: TopicName={Open/Inverter/InverterValues}, MessageIdentifier={7}, VH Length={32} Payload: {631 bytes={<123><34> flutter: 1-2021-08-02 10:22:09.519414 -- MqttServerConnection::_onData - message available event fired flutter: 1-2021-08-02 10:22:09.519953 -- MqttConnectionHandlerBase::messageAvailable - message type is MqttMessageType.publish flutter: 1-2021-08-02 10:22:09.520403 -- PublishingManager::handlePublish - publish received from broker with topic Open/Inverter/InverterValues flutter: 1-2021-08-02 10:22:09.520895 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.publishAck Header: MessageType = MqttMessageType.publishAck, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 PublishAck Variable Header: MessageIdentifier={7} flutter: 1-2021-08-02 10:22:12.108264 -- MqttConnection::_onData flutter: 1-2021-08-02 10:22:12.109629 -- MqttServerConnection::_onData - message received MQTTMessage of type MqttMessageType.publish Header: MessageType = MqttMessageType.publish, Duplicate = false, Retain = false, Qos = MqttQos.atLeastOnce, Size = 664 Publish Variable Header: TopicName={Open/Inverter/InverterValues}, MessageIdentifier={8}, VH Length={32} Payload: {632 bytes={<123><34> flutter: 1-2021-08-02 10:22:12.111698 -- MqttServerConnection::_onData - message available event fired flutter: 1-2021-08-02 10:22:12.112183 -- MqttConnectionHandlerBase::messageAvailable - message type is MqttMessageType.publish flutter: 1-2021-08-02 10:22:12.112579 -- PublishingManager::handlePublish - publish received from broker with topic Open/Inverter/InverterValues flutter: 1-2021-08-02 10:22:12.113038 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.publishAck Header: MessageType = MqttMessageType.publishAck, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 PublishAck Variable Header: MessageIdentifier={8} flutter: 1-2021-08-02 10:22:13.641046 -- MqttConnectionKeepAlive::pingRequired flutter: 1-2021-08-02 10:22:13.641447 -- MqttConnectionKeepAlive::pingRequired - sending ping request flutter: 1-2021-08-02 10:22:13.641564 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.pingRequest Header: MessageType = MqttMessageType.pingRequest, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 flutter: 1-2021-08-02 10:22:13.642486 -- MqttConnectionKeepAlive::pingRequired - restarting ping timer flutter: 1-2021-08-02 10:22:13.642941 -- MqttConnectionKeepAlive::pingRequired - restarting disconnect timer flutter: 1-2021-08-02 10:22:13.925027 -- MqttConnection::_onData flutter: 1-2021-08-02 10:22:13.925495 -- MqttServerConnection::_onData - message received MQTTMessage of type MqttMessageType.pingResponse Header: MessageType = MqttMessageType.pingResponse, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 flutter: 1-2021-08-02 10:22:13.925835 -- MqttServerConnection::_onData - message available event fired flutter: 1-2021-08-02 10:22:13.926300 -- MqttConnectionHandlerBase::messageAvailable - message type is MqttMessageType.pingResponse flutter: 1-2021-08-02 10:22:13.926515 -- MqttConnectionKeepAlive::pingResponseReceived flutter: 1-2021-08-02 10:22:14.735084 -- MqttConnection::_onData flutter: 1-2021-08-02 10:22:14.735716 -- MqttServerConnection::_onData - message received MQTTMessage of type MqttMessageType.publish Header: MessageType = MqttMessageType.publish, Duplicate = false, Retain = false, Qos = MqttQos.atLeastOnce, Size = 663 Publish Variable Header: TopicName={Open/Inverter/InverterValues}, MessageIdentifier={9}, VH Length={32} Payload: {631 bytes={<123><34> flutter: 1-2021-08-02 10:22:14.747158 -- MqttServerConnection::_onData - message available event fired flutter: 1-2021-08-02 10:22:14.747543 -- MqttConnectionHandlerBase::messageAvailable - message type is MqttMessageType.publish flutter: 1-2021-08-02 10:22:14.748069 -- PublishingManager::handlePublish - publish received from broker with topic Open/Inverter/InverterValues flutter: 1-2021-08-02 10:22:14.748587 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.publishAck Header: MessageType = MqttMessageType.publishAck, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 PublishAck Variable Header: MessageIdentifier={9} flutter: 1-2021-08-02 10:22:17.310201 -- MqttConnection::_onData flutter: 1-2021-08-02 10:22:17.311428 -- MqttServerConnection::_onData - message received MQTTMessage of type MqttMessageType.publish Header: MessageType = MqttMessageType.publish, Duplicate = false, Retain = false, Qos = MqttQos.atLeastOnce, Size = 655 Publish Variable Header: TopicName={Open/Inverter/InverterValues}, MessageIdentifier={10}, VH Length={32} Payload: {623 bytes={<123><34> flutter: 1-2021-08-02 10:22:17.313692 -- MqttServerConnection::_onData - message available event fired flutter: 1-2021-08-02 10:22:17.314129 -- MqttConnectionHandlerBase::messageAvailable - message type is MqttMessageType.publish flutter: 1-2021-08-02 10:22:17.314588 -- PublishingManager::handlePublish - publish received from broker with topic Open/Inverter/InverterValues flutter: 1-2021-08-02 10:22:17.314923 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.publishAck Header: MessageType = MqttMessageType.publishAck, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 PublishAck Variable Header: MessageIdentifier={10} flutter: 1-2021-08-02 10:22:18.649147 -- MqttConnectionKeepAlive::pingRequired flutter: 1-2021-08-02 10:22:18.649640 -- MqttConnectionKeepAlive::pingRequired - sending ping request flutter: 1-2021-08-02 10:22:18.649907 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.pingRequest Header: MessageType = MqttMessageType.pingRequest, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 flutter: 1-2021-08-02 10:22:18.650807 -- MqttConnectionKeepAlive::pingRequired - restarting ping timer flutter: 1-2021-08-02 10:22:18.651206 -- MqttConnectionKeepAlive::pingRequired - restarting disconnect timer flutter: 1-2021-08-02 10:22:18.926945 -- MqttConnection::_onData flutter: 1-2021-08-02 10:22:18.927330 -- MqttServerConnection::_onData - message received MQTTMessage of type MqttMessageType.pingResponse Header: MessageType = MqttMessageType.pingResponse, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 flutter: 1-2021-08-02 10:22:18.927730 -- MqttServerConnection::_onData - message available event fired flutter: 1-2021-08-02 10:22:18.928037 -- MqttConnectionHandlerBase::messageAvailable - message type is MqttMessageType.pingResponse flutter: 1-2021-08-02 10:22:18.928263 -- MqttConnectionKeepAlive::pingResponseReceived flutter: 1-2021-08-02 10:22:20.004415 -- MqttConnection::_onData flutter: 1-2021-08-02 10:22:20.005712 -- MqttServerConnection::_onData - message received MQTTMessage of type MqttMessageType.publish Header: MessageType = MqttMessageType.publish, Duplicate = false, Retain = false, Qos = MqttQos.atLeastOnce, Size = 663 Publish Variable Header: TopicName={Open/Inverter/InverterValues}, MessageIdentifier={11}, VH Length={32} Payload: {631 bytes={<123><34> flutter: 1-2021-08-02 10:22:20.007807 -- MqttServerConnection::_onData - message available event fired flutter: 1-2021-08-02 10:22:20.008187 -- MqttConnectionHandlerBase::messageAvailable - message type is MqttMessageType.publish flutter: 1-2021-08-02 10:22:20.008459 -- PublishingManager::handlePublish - publish received from broker with topic Open/Inverter/InverterValues flutter: 1-2021-08-02 10:22:20.008692 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.publishAck Header: MessageType = MqttMessageType.publishAck, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 PublishAck Variable Header: MessageIdentifier={11} flutter: Disconnected flutter: 1-2021-08-02 10:22:20.621762 -- MqttConnectionHandlerBase::disconnect - entered flutter: 1-2021-08-02 10:22:20.622155 -- MqttConnectionHandlerBase::sendMessage - MQTTMessage of type MqttMessageType.disconnect Header: MessageType = MqttMessageType.disconnect, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0 flutter: 1-2021-08-02 10:22:20.622969 -- MqttConnectionHandlerBase::_performConnectionDisconnect entered flutter: 1-2021-08-02 10:22:20.624012 -- MqttConnectionKeepAlive::stop - stopping keep alive flutter: EXAMPLE::OnDisconnected client callback - Client disconnection flutter: 1-2021-08-02 10:22:20.916855 -- MqttConnectionBase::_onError - calling disconnected callback flutter: 1-2021-08-02 10:22:20.917173 -- MqttClient::internalDisconnect - not invoking disconnect, no connection handler flutter: 1-2021-08-02 10:22:20.917510 -- MqttConnectionBase::_onDone - calling disconnected callback flutter: 1-2021-08-02 10:22:20.917598 -- MqttClient::internalDisconnect - not invoking disconnect, no connection handler

shamblett commented 3 years ago

Yes, this is what I was hoping would happen first time round, as well as adding logging I moved the attachment of the event listener for the no ping response disconnect form the client connect method up to the server/browser level, I had an inkling from prior experience that flutter for some reason seems sensitive to where these listeners are set up, I do them all at the highest level I can now. The Dart VM doesn't seem to mind where you attach them, which should of course be the case for flutter also.

OK, I'll re publish the package with this fix in it and report back when done. Thanks for the testing you have done here.

shamblett commented 3 years ago

Package re published at version 9.4.2.

JacoFourie commented 3 years ago

Thank you dear sir. Job well done. You have saved me a lot of work by creating this lib. Now on to sort out end to end encryption over MQTT.