Closed KSumwalt closed 1 year ago
Hi again @KSumwalt,
Thanks for the additional info on your Fluval Plant Nano 3.0 aquarium light.
The manufacturerdata advertising playload from MQTTExplorer is great like that
{"id":"44:A6:E5:72:B3:C6","mac_type":0,"name":"Nano5Gallon","manufacturerdata":"30313532303130330000000000000000000000000000","rssi":-82,"txpower":-97}
It being the a freely broadcast advertisement, where we can see if it changes with different states of the Nano5Gallon, so as to try and see if and how this information is encoded in the manufacturerdata.
Now you would need to supply more readings like the above, but with the Nano5Gallon having different states to report with each MQTT reading. The easiest to start with would be Nano5Gallon ON -> reading, then Nano5Gallon OFF -> reading.
The nRFConnect screenshots are great, too, but apart from service 1000 with characteristic 1004 giving seemingly the same result as the advertised manufacturerdata, and the obviously named characteristics like Software Revision String etc., it doesn't show what the others might possibly indicate. Any of these service/chars with arrow down (READ) and arrow up (WRITE) could be accessed, i.e. read or written to with the OpenMQTTGateway READ/WRITE commands.
For the purpose of seeing if it is possible to integrate a decoder here into Theengs Decoder though, let's stick to the MQTT broadcast messages, and see if we can get the different states from the manufacturerdata :)
The MQTT Explorer data does not change outside of the RSSI and TXPower values. I unplugged the light and plugged it back in and the data was the same. I connected the phone app and this data stopped sending. So I believe it is just advertisement data as the listing in MQTT Explorer only updates when nothing is connected.
In order to get the light to resume the schedule with the current time, I would need to connect to it via the phone app. Once in the App I need to actually "browse" to that light to get the internal time reset. Meaning if I had 3 lights and a power outage, I need to browse to each one. So I first opened nRF Connect and connected to the light. On a second phone I then opened the Fluval app. I could not connect to the light (as likely expected). The light was still off even though by the schedule it should be on. This is because neither the phone app nor other source has sent it a corrected time value. I disconnected nRF Connect from the light and then connected the phone app. As soon as the phone app is connected to the light the light resumes the saved schedule. Meaning if the light should be on, it turns on at whatever levels are appropriate for that time.
All this to say that I think I need to read the data going between the phone app and the unit. I do know that the app downloads the scheduled settings from the light. I have changed it on one phone, disconnected, then connected the second and seen the change. As soon as the phone app is connected to the light the light resumes the saved schedule. Meaning if the light should be on, it turns on at whatever levels are appropriate for that time.
Shame about the advertising data not changing :( this means it won't be possible to include a state decoder into Theengs Decoder for the Fluval light.
It might still be interesting to see what and how the service/characteristics change depending on the light status. The facy that the scheduly doesn't seem to be uploaded to the light is a bit strange though, as it sounds from your description the schedule is only resumed once connected to the app again.
Apart from scanning the data going between the app and the light, it might still be interesting if you compare the above information from your screenshots with different states of the light, obviously when no connected with the app.
Sorry, I did not want to close the issue, a slip of my hand on the trackpad.
The schedule is saved in the device and the app reads it from the device each time the app connects. What is not on the device is any persistent clock so that the device knows the time after a power failure.
Closing as there is no advertising data broadcast containing relevant information for Decoder to use.
Looking to get a decoder for a Fluval Plant Nano 3.0 aquarium light. I suspect this would work for their other Plant and Marine lights as well.
I have found the following from the unit I have:
ble/OpenMQTTGateway/BTtoMQTT/44A6E572B3C6
{"id":"44:A6:E5:72:B3:C6","mac_type":0,"name":"Nano5Gallon","manufacturerdata":"30313532303130330000000000000000000000000000","rssi":-82,"txpower":-97}
I am willing to do some leg work but don't know what I need to do beyond this step.
First Client Item:
Second Client Item:
Third Client Item:
Server Items: