Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Attempt (temporary hack) to address zigbee-OTA#328 #6193

Merged
merged 2 commits into from Sep 24, 2023

Conversation

FabianMangold
Copy link
Contributor

@FabianMangold FabianMangold commented Sep 23, 2023

This is a POC only! Please use with care, and only if the "fix" has been confirmed to work with other devices.

@Koenkk
Copy link
Owner

Koenkk commented Sep 23, 2023

Im fine with this hack but have some questions:

  • if i understand correctly, this fw also doesnt work with the original gateway?
  • does a power cycle of the device also not reset the ota stack?
  • how did you figure out to solve/hack it in this way?

@FabianMangold
Copy link
Contributor Author

FabianMangold commented Sep 23, 2023

Sure:

  • Unfortunately, i don't have any original gateway. I was hoping that @SilentT-FR or anyone having a gateway could check.
  • No, as mentioned in zigbee-ota#328, none of Legrand's suggestions (reset or powercycle) worked for me (at least on my devices).
  • While attempting to figure out the offset discrepancy (50 vs 78), I've realized that the devices where acting up when playing arround with the offset, and realized that the dataSize requested were changing as well. I figured i could "attempt" to create an overflow, and discovered that using an offset > 64 and a datasize of 64 does the trick. My devices reset and get back to a "normal" state. That was more of a "poking" / try and error thing, just lucky it worked out.

(Sorry, commenting out code creates some side effects (unused variables).. Sorry for the failing Lint tests)

@SilentT-FR
Copy link
Contributor

if i understand correctly, this fw also doesnt work with the original gateway?

I can sniff the official legrand OTA but i dont know how extract it to OTA file

i cant confirm if the firmware from legrand.com was same from the official gateway

in my opinion why legrand would make two versions of its firmware ?

@SilentT-FR
Copy link
Contributor

SilentT-FR commented Sep 23, 2023

imageBlockRequest.payload.fileOffset === 50
not better to use ?
imageBlockRequest.payload.fileOffset =! 0

@FabianMangold
Copy link
Contributor Author

FabianMangold commented Sep 23, 2023

@SilentT-FR
Not sure, there might be legitimate use cases. Only Legrand can tell unfortunately. I've just replicated what worked on my own devices. They all exposed the very same behaviour, in that they started at offset 50. I cannot figure out why Legrand told you that they see 78 in your capture to be honnest however. Might be worth asking them.

@SilentT-FR
Copy link
Contributor

SilentT-FR commented Sep 23, 2023

I think they said 78 because the firmware of my socket was in 78

@SilentT-FR
Copy link
Contributor

SilentT-FR commented Sep 23, 2023

They all exposed the very same behaviour, in that they started at offset 50

Ive tested you have right
( i cant see the device asking (sniffer dont have good range)) but i see each time my coordinator send offset 50 datasize 12

@Koenkk
Copy link
Owner

Koenkk commented Sep 23, 2023

@SilentT-FR can you check if the fix also works for you?

@SilentT-FR
Copy link
Contributor

i use HA addon
so if dev branch of Z2M use this PR i can,
But i dont know how to modify directly on HA

@SilentT-FR
Copy link
Contributor

SilentT-FR commented Sep 23, 2023

@FabianMangold
sometimes i have

    File Version: 0x00514203
    File Offset: 0
    Data Size: 50
    Image Data: 1e:f1:ee:0b:00:01:38:00:00:00:21:10:11:00:03:42:51:00:02:00:20:20:20:20:…

but after i have

    File Version: 0x00514203
    File Offset: 50
    Data Size: 12
    Image Data: 20:20:27:d5:03:00:00:00:e9:d4:03:00

and the OTA failed

the popular way its device asking directly offset 50

but after retry, failed with 0-50, 50-12, its continue to ask 50-12

via legrand gateway its ask 0-62 and 62-8

@FabianMangold
Copy link
Contributor Author

FabianMangold commented Sep 23, 2023

@SilentT-FR:

  • So do i get it right that the firmware upgrade works fine when updating via the Legrand gateway ?
  • I have one single device doing exactly this. The update seems to start normally, but with offset 50 it requests 12 bytes only, instead of 50. Flooding it with 64 bytes brought it back to "normal" after a timeout.
    After that, all my devices started from offset 0 asking for 62 bytes.

But again, mine are NLVs, you seem to have an NLP. Would be great if you could test the fix.

N.B: Looks like this version of the firmware expects 62 bytes. By default, the OTA limits to 50 bytes for stability, which may explain the behaviour you see above. In order to account for the 12 missing bytes, it requests another packet with only 12 bytes... but then, stalls for some reason.
That may explain the difference with the gateway. The 50 bytes "cap" is a limit implemented by design right @Koenkk, or is there a spec for that ?

@SilentT-FR
Copy link
Contributor

SilentT-FR commented Sep 23, 2023

@SilentT-FR:

* So do i get it right that the firmware upgrade works fine when updating via the Legrand gateway ?

Yes but the legrand gateway not use same method for updating, and i dont understand why

first the gateway notify
the device Command: Query Next Image Request (0x01)
four times by four sequence number
because the gateway not respond the ack ( why ? its was at 10 cm ! )

its does that multiple times

and after several times, the device Command: Query Next Image Request (0x01)
( i dont know why, sniffing not capture the OTA Notify ? )
the gateway respond Command: Query Next Image Request (0x01)

and the devices ask directly

        File Offset: 0
        Max Data Size: 62
        Minimum Block Period: 20

the official gateway work everytimes

@SilentT-FR
Copy link
Contributor

But again, mine are NLVs, you seem to have an NLP. Would be great if you could test the fix.

I can't wait to try it :D

@SilentT-FR
Copy link
Contributor

So do i get it right that the firmware upgrade works fine when updating via the Legrand gateway ?

all is there :

zbee_nwk.addr == 0x4ce9
OTA begin no response and real begin.zip

key : 29:06:2A:5F:ED:79:DD:E5:F4:28:93:0B:CD:22:06:03

@SilentT-FR
Copy link
Contributor

SilentT-FR commented Sep 23, 2023

That may explain the difference with the gateway. The 50 bytes "cap" is a limit implemented by design right @Koenkk, or is there a spec for that ?

https://github.com/Koenkk/zigbee-herdsman-converters/pull/6193/files#diff-a8cc39dcf69c673d911cbd827e6e27eecea991677c8a635901330030109e6f57R208

@SilentT-FR
Copy link
Contributor

SilentT-FR commented Sep 23, 2023

After that, all my devices started from offset 0 asking for 62 bytes.

And after its asking 64

zbee_zcl_general.ota.data_size === 64 or zbee_zcl_general.ota.data_size < 64

0-62
62-8
70-64
...

@FabianMangold
Copy link
Contributor Author

That's correct, so it looks like we have observed the very same behaviour.

@SilentT-FR
Copy link
Contributor

That may explain the difference with the gateway. The 50 bytes "cap" is a limit implemented by design right @Koenkk, or is there a spec for that ?

why capping, when it is the devices themselves that ask for the size they want us to send?

@FabianMangold
Copy link
Contributor Author

Network congestion !
The stack in the firmware should be clever enough to handle this, and past firmware seemed happy with 50 bytes.

Can you test the fix locally ? Do you know how to modify the library locally ?

@SilentT-FR
Copy link
Contributor

Can you test the fix locally ? Do you know how to modify the library locally ?

im using Z2M addon of HA
i dont find where modifying

@tkintscher
Copy link
Contributor

tkintscher commented Sep 23, 2023

Thanks for figuring this out!

I can confirm that my 067771 (NLF) was updated from firmware 0046 to 0047 with the help of this patch! Before it was stuck with the usual "invalid image" symptoms.

The log output was:

>> Legrand buggy firmware. Forcing a buffer overflow on the device to reset the OTA stack! <<
Request offsets:                 fileOffset=50                 pageOffset=0 dataSize=12
Payload offsets: start=78 end=142 datasize=64
Payload is: {"status":0,"manufacturerCode":4129,"imageType":14,"fileVersion":4669955,"fileOffset":78,"dataSize":64,"data":{"type":"Buffer","data":[0,0,33,16,0,216,1,35,69,103,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,225,3,0,145,184,136,82,253,61,227,175,71,191,13,169,176,245,165,181]}}

Then after trying to update again:

Request offsets:                 fileOffset=0                 pageOffset=0 dataSize=62
Payload offsets: start=0 end=62 datasize=62
Payload is: {"status":0,"manufacturerCode":4129,"imageType":14,"fileVersion":4669955,"fileOffset":0,"dataSize":62,"data":{"type":"Buffer","data":[30,241,238,11,0,1,56,0,0,0,33,16,14,0,3,66,71,0,2,0,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,7,226,3,0,0,0,201,225,3,0]}}

and requesting further offset 62, 70, 134, 198, ... until completion.

While this "hack" seems to get the device unstuck, I wonder how our devices ended up with the broken state of the OTA stack in the first place.

@Koenkk
Copy link
Owner

Koenkk commented Sep 24, 2023

The stack in the firmware should be clever enough to handle this, and past firmware seemed happy with 50 bytes.

I totally forgot about this, we can easily remove the cap for this device, we also give a different cap for INSTA devices:

const maximumDataSize = imageBlockRequest.payload.manufacturerCode === 4474 ? 40 : 50;

I propose to do this:

let maximumDataSize = 50;
if (imageBlockRequest.payload.manufacturerCode === 4474) maximumDataSize = 40;
else if (imageBlockRequest.payload.manufacturerCode === 4129) maximumDataSize = Infinity;

Would this work without changing anything else?

Since this is a nice fix IMO, we can at least give it a try (commit it so it's available in the edge addon for @SilentT-FR)

@FabianMangold
Copy link
Contributor Author

Thanks for confirming the fix @tkintscher.
@Koenkk: That looks fine to me, albeit, in case the list of devices increases in the future, IMHO it might be a better approach to set in to some decent defaults here (e.g. 50 bytes) and override this in the "device definition" itself, what do you think ?

I believe that my "hack" might still be required to get the device "back to normal" however. Unfortunately, all my devices are running the latest firmware for now. @SilentT-FR would you be able to give this a test ?

@SilentT-FR
Copy link
Contributor

Zigbee2MQTT version
1.33.0-dev commit: d99da63

Not see difference

@FabianMangold
Copy link
Contributor Author

FabianMangold commented Sep 24, 2023

Just in the process of downgrading one of my devices to give your fix a try @Koenkk.

By the way, the new firmware requests 62 bytes from offset 0, then 8 bytes, and then 64 bytes all along, confirming what @SilentT-FR and @tkintscher obeserved as well.

@SilentT-FR
Copy link
Contributor

i have found : https://github.com/zigbee2mqtt/hassio-zigbee2mqtt#issues im currently test !

@SilentT-FR
Copy link
Contributor

SilentT-FR commented Sep 24, 2023

Interesting side note, Legrand seems to have fixed the installed_version on the NLP firmware !

Yes because i have speak of that in the legrand forums

i can create a new post for NLV

and second point : the non presence of changelog

where we need to aks legrand at each new version...

@FabianMangold
Copy link
Contributor Author

@SilentT-FR: I've seen your post in the Legrand Forums, and didn't want to interfere. Could you please ask for the NLV please ?
Also, i have other 067776s (the newer version it seems) that seem to be NLLV, and those download the NLL firmware (Image type 15). Z2m reports them as BTicino [K4027C/L4027C/N4027C/NT4027C]. I am happy to open another discussion for that, but would you mind asking Legrand if that is "normal" ?
Those firmware issues / reported version seem to affect a lot of other users (e.g. OTA #352)

@SilentT-FR
Copy link
Contributor

Instead of overflow, we dont have in zigbee protocol a response for reset OTA stack ? like no OTA update available or OTA abort ?

@Koenkk Koenkk merged commit cba37b6 into Koenkk:master Sep 24, 2023
1 check passed
@Koenkk
Copy link
Owner

Koenkk commented Sep 24, 2023

Thanks @FabianMangold !

@SilentT-FR
Copy link
Contributor

and if we can documented this for future or add popup log too explain and to do a retry ?

@FabianMangold
Copy link
Contributor Author

FabianMangold commented Sep 24, 2023

@SilentT-FR The debug log contains an info. The update will fail (timeout because the device doesn't request any new blocks after the second attempt), and I believe it is quite intuitive to give it another try.
Regarding the OTA reset, this seems to be an abnormal situation, "who" knows what the buggy firmware expects at that stage. We were kind of lucky to find that loophole and workaround the issue that way.
Nevertheless, we've improved the update process in that the datasize has been extended, which seems beneficial.

@Koenkk: My pleasure, glad this is fixed.
Just saw a little typo in debug log your final merge ;;)... in case you have a second !

@SilentT-FR
Copy link
Contributor

Legrand Forum : https://developer.legrand.com/forums/topic/connected-outlet-nlp-78-firmware/

We found the solution and a root cause

Perform an electrical reboot with 30 sec or more, not reset OTA stack of the devices…

so when the devices ask the offset 50 (not 78 have you seen 78 its the starting firmware)

we send more than expected, the devices reset the OTA stack and we can retry update from offset 0

so why the device ask offset 50? its because the software which we uses capping the OTA size response of 50

but Legrand firmware not appreciated that and want the firmware with the size who it ask, the Legrand Firmware still asks for the last bit that it is missing but it does not accept it and falls into a loop.

NLV and NLP product tested !

I hope I wasn't wrong in my explanation.

@SilentT-FR
Copy link
Contributor

@SilentT-FR: I've seen your post in the Legrand Forums, and didn't want to interfere. Could you please ask for the NLV please ? Also, i have other 067776s (the newer version it seems) that seem to be NLLV, and those download the NLL firmware (Image type 15). Z2m reports them as BTicino [K4027C/L4027C/N4027C/NT4027C]. I am happy to open another discussion for that, but would you mind asking Legrand if that is "normal" ? Those firmware issues / reported version seem to affect a lot of other users (e.g. OTA #352)

First the changelog https://developer.legrand.com/forums/topic/changelog-zigbee-firmware/

For the version not corresponding you can send the before and after upgrade version ? with the long number ?

@SilentT-FR
Copy link
Contributor

I am happy to open another discussion for that, but would you mind asking Legrand if that is "normal" ? Those firmware issues

https://developer.legrand.com/forums/topic/nlc-firmware-version/ => second post...

@SilentT-FR
Copy link
Contributor

I am happy to open another discussion for that, but would you mind asking Legrand if that is "normal" ? Those firmware issues

https://developer.legrand.com/forums/topic/nlc-firmware-version/ => second post...

So i thinks we need to open a new forum post

@FabianMangold
Copy link
Contributor Author

@SilentT-FR:
Thanks for the blog posts. Unfortunately i don't have the long numbers anymore, but the code snipped above showing my version should be sufficient to prove the case. Legrand admitted the issue and said they will align the versions in the header and the version reported by the firmware in future versions, which has not happened in the NLV.

This is the status with the current (v.56) version. Legrand should be able to take it from there IMHO.

"last_seen": "2023-09-24T17:08:21.959Z",
"linkquality": 172,
"tilt": 0,
"update": {
    "installed_version": 3687423, -> 0x384293 (0x38=v.56-> Firmware version, 0x42=66-> StackVersion , 0x3->??)
    "latest_version": 3686915, -> 0x3843FF (0x38=v.56 -> Firmware version, 0x43=67 -> Wrong StackVersion, 0xFF->??) 
    "state": "idle"

@SilentT-FR
Copy link
Contributor

"last_seen": "2023-09-24T17:08:21.959Z",
"linkquality": 172,
"tilt": 0,
"update": {
"installed_version": 3687423, -> 0x384293 (0x38=v.56-> Firmware version, 0x42=66-> StackVersion , 0x3->??)
"latest_version": 3686915, -> 0x3843FF (0x38=v.56 -> Firmware version, 0x43=67 -> Wrong StackVersion, 0xFF->??)
"state": "idle"

https://developer.legrand.com/forums/topic/nlv-version-stack-not-corresponding-with-files/

@SilentT-FR
Copy link
Contributor

i have read the zigbee documentation

image

its clear
Z2M cannot send more than the device ask ( normal )
but CAN send less than the device ask

so Legrand Firmware was the problem

@SilentT-FR
Copy link
Contributor

@SilentT-FR
Copy link
Contributor

I will explain to legrand it dosent respect the zigbee stack...

@SilentT-FR
Copy link
Contributor

SilentT-FR commented Sep 25, 2023

@FabianMangold
I have moved NLP product to the official gateway (from the old firmware ) and keep update i can confirm the firmware from the official gateway dont have the same version number in comparaison of the legrand dev website

Source v74 Updated via offical gateway moved to Z2M to read this
"update": {
"installed_version": 5325823,
"latest_version": 5325315,
"state": "idle"
},

Source v74 Updated via Z2M with firmware from dev.legrand.com
"update": {
"installed_version": 5325315,
"latest_version": 5325315,
"state": "idle"
},

@FabianMangold
Copy link
Contributor Author

FabianMangold commented Sep 25, 2023 via email

@SilentT-FR
Copy link
Contributor

uploaded to the repo (or the one from Legrand’s DEV site) ?

The uploaded to the repo is the same from the legrand dev website, i can sniff but i dont know how to extract it

@dadino
Copy link

dadino commented Oct 2, 2023

I think I'm in the same situation as many in this thread, but I'm not sure I understand how to fix it. Do I need to wait for an update to Z2M? Can I fix it by shutting down the power to my switches, so that they can cleanse this offset?

I'm experiencing a lot of problems with legrand switches lately and I've seen a lot of "invalid image" logs when trying to update the ~40 switches in my network.

@tkintscher
Copy link
Contributor

If you are comfortable using Docker, you can point the zigbee2mqtt service to use the :latest-dev tag.

Otherwise you might have to wait for the next stable release of Z2M.

I have not managed to reset the OTA stack of my switches by cutting the power, unfortunately.

@FabianMangold
Copy link
Contributor Author

Hi @dadino ,
Well i agree, Legrand's firmwares seem somewhat all over the place lately, which is unfortunate, but it seems to improve.
Power cyling the switches doesn't work. As @tkintscher pointed out, please use the DEV branch of zigbee2mqtt to use the fix, alternetively you may have to wait for the next stable to be released.

@dadino
Copy link

dadino commented Oct 2, 2023

Ok, I'm using the HA addon, is there a way to update the addon without resetting the network? My idea is to install the edge version and copy paste the coordinator_backup file from the stable version folder. Would it work?

@FabianMangold
Copy link
Contributor Author

@dadino, yes that should work indeed.

@dadino
Copy link

dadino commented Oct 3, 2023

I'm trying to update a switch with a very old firmware (see here for more infos).

I tried the "force" fix with the stable release and it failed with the "invalid image" message.

I'm trying now with the dev branch and the "force" fix, when it reaches 100%, it goes back to 0% and starts over. I can't find "invalid image" in the logs, it just starts over (I'm now in the 3rd cycle).

I got the logs for the restart


info  2023-10-03 16:23:41: MQTT publish: topic 'zigbee2mqtt/Taverna Luce Divano', payload '{"action":null,"last_seen":"2023-10-03T14:23:41.356Z","led_if_on":null,"led_in_dark":null,"linkquality":98,"state":"OFF","update":{"installed_version":54527488,"latest_version":3556351,"progress":96,"remaining":99,"state":"updating"},"update_available":null}'
info  2023-10-03 16:23:42: MQTT publish: topic 'zigbee2mqtt/Taverna Luce Divano', payload '{"action":null,"last_seen":"2023-10-03T14:23:42.472Z","led_if_on":null,"led_in_dark":null,"linkquality":98,"state":"OFF","update":{"installed_version":54527488,"latest_version":3556351,"progress":96,"remaining":99,"state":"updating"},"update_available":null}'
info  2023-10-03 16:23:43: MQTT publish: topic 'zigbee2mqtt/Taverna Luce Divano', payload '{"action":null,"last_seen":"2023-10-03T14:23:43.607Z","led_if_on":null,"led_in_dark":null,"linkquality":98,"state":"OFF","update":{"installed_version":54527488,"latest_version":3556351,"progress":96,"remaining":99,"state":"updating"},"update_available":null}'
debug 2023-10-03 16:23:44: OTA update at 98.2%, remaining 44.269506831047025 seconds
info  2023-10-03 16:23:44: Update of 'Taverna Luce Divano' at 98.20%, ≈ 1 minutes remaining
info  2023-10-03 16:23:44: MQTT publish: topic 'zigbee2mqtt/Taverna Luce Divano', payload '{"action":null,"last_seen":"2023-10-03T14:23:43.607Z","led_if_on":null,"led_in_dark":null,"linkquality":98,"state":"OFF","update":{"installed_version":54527488,"latest_version":3556351,"progress":98.2,"remaining":44,"state":"updating"},"update_available":null}'
info  2023-10-03 16:23:44: MQTT publish: topic 'zigbee2mqtt/Taverna Luce Divano', payload '{"action":null,"last_seen":"2023-10-03T14:23:44.736Z","led_if_on":null,"led_in_dark":null,"linkquality":98,"state":"OFF","update":{"installed_version":54527488,"latest_version":3556351,"progress":98.2,"remaining":44,"state":"updating"},"update_available":null}'
info  2023-10-03 16:23:45: MQTT publish: topic 'zigbee2mqtt/Taverna Luce Divano', payload '{"action":null,"last_seen":"2023-10-03T14:23:45.884Z","led_if_on":null,"led_in_dark":null,"linkquality":102,"state":"OFF","update":{"installed_version":54527488,"latest_version":3556351,"progress":98.2,"remaining":44,"state":"updating"},"update_available":null}'
info  2023-10-03 16:23:47: MQTT publish: topic 'zigbee2mqtt/Taverna Luce Divano', payload '{"action":null,"last_seen":"2023-10-03T14:23:47.043Z","led_if_on":null,"led_in_dark":null,"linkquality":98,"state":"OFF","update":{"installed_version":54527488,"latest_version":3556351,"progress":98.2,"remaining":44,"state":"updating"},"update_available":null}'
info  2023-10-03 16:23:48: MQTT publish: topic 'zigbee2mqtt/Taverna Luce Divano', payload '{"action":null,"last_seen":"2023-10-03T14:23:48.211Z","led_if_on":null,"led_in_dark":null,"linkquality":98,"state":"OFF","update":{"installed_version":54527488,"latest_version":3556351,"progress":98.2,"remaining":44,"state":"updating"},"update_available":null}'
info  2023-10-03 16:23:49: MQTT publish: topic 'zigbee2mqtt/Taverna Luce Divano', payload '{"action":null,"last_seen":"2023-10-03T14:23:49.354Z","led_if_on":null,"led_in_dark":null,"linkquality":98,"state":"OFF","update":{"installed_version":54527488,"latest_version":3556351,"progress":98.2,"remaining":44,"state":"updating"},"update_available":null}'
info  2023-10-03 16:23:50: MQTT publish: topic 'zigbee2mqtt/Taverna Luce Divano', payload '{"action":null,"last_seen":"2023-10-03T14:23:50.517Z","led_if_on":null,"led_in_dark":null,"linkquality":98,"state":"OFF","update":{"installed_version":54527488,"latest_version":3556351,"progress":98.2,"remaining":44,"state":"updating"},"update_available":null}'
info  2023-10-03 16:23:51: MQTT publish: topic 'zigbee2mqtt/Taverna Luce Divano', payload '{"action":null,"last_seen":"2023-10-03T14:23:51.685Z","led_if_on":null,"led_in_dark":null,"linkquality":98,"state":"OFF","update":{"installed_version":54527488,"latest_version":3556351,"progress":98.2,"remaining":44,"state":"updating"},"update_available":null}'
info  2023-10-03 16:23:52: MQTT publish: topic 'zigbee2mqtt/Taverna Luce Divano', payload '{"action":null,"last_seen":"2023-10-03T14:23:52.834Z","led_if_on":null,"led_in_dark":null,"linkquality":98,"state":"OFF","update":{"installed_version":54527488,"latest_version":3556351,"progress":98.2,"remaining":44,"state":"updating"},"update_available":null}'
info  2023-10-03 16:23:53: MQTT publish: topic 'zigbee2mqtt/Taverna Luce Divano', payload '{"action":null,"last_seen":"2023-10-03T14:23:53.988Z","led_if_on":null,"led_in_dark":null,"linkquality":98,"state":"OFF","update":{"installed_version":54527488,"latest_version":3556351,"progress":98.2,"remaining":44,"state":"updating"},"update_available":null}'
info  2023-10-03 16:23:59: MQTT publish: topic 'zigbee2mqtt/Taverna Luce Divano', payload '{"action":null,"last_seen":"2023-10-03T14:23:59.495Z","led_if_on":null,"led_in_dark":null,"linkquality":98,"state":"OFF","update":{"installed_version":54527488,"latest_version":3556351,"progress":98.2,"remaining":44,"state":"updating"},"update_available":null}'
info  2023-10-03 16:24:00: MQTT publish: topic 'zigbee2mqtt/Taverna Luce Divano', payload '{"action":null,"last_seen":"2023-10-03T14:24:00.476Z","led_if_on":null,"led_in_dark":null,"linkquality":98,"state":"OFF","update":{"installed_version":54527488,"latest_version":3556351,"progress":98.2,"remaining":44,"state":"updating"},"update_available":null}'
info  2023-10-03 16:24:01: MQTT publish: topic 'zigbee2mqtt/Taverna Luce Divano', payload '{"action":null,"last_seen":"2023-10-03T14:24:01.619Z","led_if_on":null,"led_in_dark":null,"linkquality":102,"state":"OFF","update":{"installed_version":54527488,"latest_version":3556351,"progress":98.2,"remaining":44,"state":"updating"},"update_available":null}'
info  2023-10-03 16:24:02: MQTT publish: topic 'zigbee2mqtt/Taverna Luce Divano', payload '{"action":null,"last_seen":"2023-10-03T14:24:02.792Z","led_if_on":null,"led_in_dark":null,"linkquality":98,"state":"OFF","update":{"installed_version":54527488,"latest_version":3556351,"progress":98.2,"remaining":44,"state":"updating"},"update_available":null}'
info  2023-10-03 16:24:03: MQTT publish: topic 'zigbee2mqtt/Taverna Luce Divano', payload '{"action":null,"last_seen":"2023-10-03T14:24:03.959Z","led_if_on":null,"led_in_dark":null,"linkquality":98,"state":"OFF","update":{"installed_version":54527488,"latest_version":3556351,"progress":98.2,"remaining":44,"state":"updating"},"update_available":null}'
info  2023-10-03 16:24:05: MQTT publish: topic 'zigbee2mqtt/Taverna Luce Divano', payload '{"action":null,"last_seen":"2023-10-03T14:24:05.120Z","led_if_on":null,"led_in_dark":null,"linkquality":98,"state":"OFF","update":{"installed_version":54527488,"latest_version":3556351,"progress":98.2,"remaining":44,"state":"updating"},"update_available":null}'
info  2023-10-03 16:24:06: MQTT publish: topic 'zigbee2mqtt/Taverna Luce Divano', payload '{"action":null,"last_seen":"2023-10-03T14:24:06.583Z","led_if_on":null,"led_in_dark":null,"linkquality":98,"state":"OFF","update":{"installed_version":54527488,"latest_version":3556351,"progress":98.2,"remaining":44,"state":"updating"},"update_available":null}'
debug 2023-10-03 16:24:06: Device 'Taverna Luce Divano' announced itself
info  2023-10-03 16:24:06: MQTT publish: topic 'zigbee2mqtt/bridge/event', payload '{"data":{"friendly_name":"Taverna Luce Divano","ieee_address":"0x00047400009b0034"},"type":"device_announce"}'
debug 2023-10-03 16:24:08: Retrieving state of 'Taverna Luce Divano' after reconnect
debug 2023-10-03 16:24:08: Received Zigbee message from 'Taverna Luce Divano', type 'readResponse', cluster 'genOnOff', data '{"onOff":0}' from endpoint 1 with groupID 0
info  2023-10-03 16:24:08: MQTT publish: topic 'zigbee2mqtt/Taverna Luce Divano', payload '{"action":null,"last_seen":"2023-10-03T14:24:08.688Z","led_if_on":null,"led_in_dark":null,"linkquality":98,"state":"OFF","update":{"installed_version":54527488,"latest_version":3556351,"progress":98.2,"remaining":44,"state":"updating"},"update_available":null}'
debug 2023-10-03 16:24:13: Received Zigbee message from 'Taverna Luce Divano', type 'commandQueryNextImageRequest', cluster 'genOta', data '{"fieldControl":0,"fileVersion":54527488,"imageType":15,"manufacturerCode":4129}' from endpoint 1 with groupID 0
info  2023-10-03 16:24:13: MQTT publish: topic 'zigbee2mqtt/Taverna Luce Divano', payload '{"action":null,"last_seen":"2023-10-03T14:24:13.411Z","led_if_on":null,"led_in_dark":null,"linkquality":102,"state":"OFF","update":{"installed_version":54527488,"latest_version":3556351,"progress":98.2,"remaining":44,"state":"updating"},"update_available":null}'
debug 2023-10-03 16:24:17: Received Zigbee message from 'Taverna Luce Divano', type 'commandQueryNextImageRequest', cluster 'genOta', data '{"fieldControl":0,"fileVersion":54527488,"imageType":15,"manufacturerCode":4129}' from endpoint 1 with groupID 0
info  2023-10-03 16:24:17: MQTT publish: topic 'zigbee2mqtt/Taverna Luce Divano', payload '{"action":null,"last_seen":"2023-10-03T14:24:17.801Z","led_if_on":null,"led_in_dark":null,"linkquality":102,"state":"OFF","update":{"installed_version":54527488,"latest_version":3556351,"progress":98.2,"remaining":44,"state":"updating"},"update_available":null}'
info  2023-10-03 16:24:19: MQTT publish: topic 'zigbee2mqtt/Taverna Luce Divano', payload '{"action":null,"last_seen":"2023-10-03T14:24:19.167Z","led_if_on":null,"led_in_dark":null,"linkquality":98,"state":"OFF","update":{"installed_version":54527488,"latest_version":3556351,"progress":98.2,"remaining":44,"state":"updating"},"update_available":null}'
debug 2023-10-03 16:24:19: OTA update at 0.02%, remaining 10097705.946774194 seconds
info  2023-10-03 16:24:19: Update of 'Taverna Luce Divano' at 0.02%, ≈ 168295 minutes remaining
info  2023-10-03 16:24:19: MQTT publish: topic 'zigbee2mqtt/Taverna Luce Divano', payload '{"action":null,"last_seen":"2023-10-03T14:24:19.167Z","led_if_on":null,"led_in_dark":null,"linkquality":98,"state":"OFF","update":{"installed_version":54527488,"latest_version":3556351,"progress":0.02,"remaining":10097706,"state":"updating"},"update_available":null}'
info  2023-10-03 16:24:19: MQTT publish: topic 'zigbee2mqtt/Taverna Luce Divano', payload '{"action":null,"last_seen":"2023-10-03T14:24:19.241Z","led_if_on":null,"led_in_dark":null,"linkquality":102,"state":"OFF","update":{"installed_version":54527488,"latest_version":3556351,"progress":0.02,"remaining":10097706,"state":"updating"},"update_available":null}'
info  2023-10-03 16:24:20: MQTT publish: topic 'zigbee2mqtt/Taverna Luce Divano', payload '{"action":null,"last_seen":"2023-10-03T14:24:20.441Z","led_if_on":null,"led_in_dark":null,"linkquality":98,"state":"OFF","update":{"installed_version":54527488,"latest_version":3556351,"progress":0.02,"remaining":10097706,"state":"updating"},"update_available":null}'
info  2023-10-03 16:24:21: MQTT publish: topic 'zigbee2mqtt/Taverna Luce Divano', payload '{"action":null,"last_seen":"2023-10-03T14:24:21.595Z","led_if_on":null,"led_in_dark":null,"linkquality":98,"state":"OFF","update":{"installed_version":54527488,"latest_version":3556351,"progress":0.02,"remaining":10097706,"state":"updating"},"update_available":null}'
info  2023-10-03 16:24:22: MQTT publish: topic 'zigbee2mqtt/Taverna Luce Divano', payload '{"action":null,"last_seen":"2023-10-03T14:24:22.739Z","led_if_on":null,"led_in_dark":null,"linkquality":98,"state":"OFF","update":{"installed_version":54527488,"latest_version":3556351,"progress":0.02,"remaining":10097706,"state":"updating"},"update_available":null}'
info  2023-10-03 16:24:23: MQTT publish: topic 'zigbee2mqtt/Taverna Luce Divano', payload '{"action":null,"last_seen":"2023-10-03T14:24:23.883Z","led_if_on":null,"led_in_dark":null,"linkquality":98,"state":"OFF","update":{"installed_version":54527488,"latest_version":3556351,"progress":0.02,"remaining":10097706,"state":"updating"},"update_available":null}'
info  2023-10-03 16:24:25: MQTT publish: topic 'zigbee2mqtt/Taverna Luce Divano', payload '{"action":null,"last_seen":"2023-10-03T14:24:25.040Z","led_if_on":null,"led_in_dark":null,"linkquality":102,"state":"OFF","update":{"installed_version":54527488,"latest_version":3556351,"progress":0.02,"remaining":10097706,"state":"updating"},"update_available":null}'
info  2023-10-03 16:24:26: MQTT publish: topic 'zigbee2mqtt/Taverna Luce Divano', payload '{"action":null,"last_seen":"2023-10-03T14:24:26.223Z","led_if_on":null,"led_in_dark":null,"linkquality":94,"state":"OFF","update":{"installed_version":54527488,"latest_version":3556351,"progress":0.02,"remaining":10097706,"state":"updating"},"update_available":null}'
info  2023-10-03 16:24:27: MQTT publish: topic 'zigbee2mqtt/Taverna Luce Divano', payload '{"action":null,"last_seen":"2023-10-03T14:24:27.367Z","led_if_on":null,"led_in_dark":null,"linkquality":102,"state":"OFF","update":{"installed_version":54527488,"latest_version":3556351,"progress":0.02,"remaining":10097706,"state":"updating"},"update_available":null}'
debug 

@asythlos
Copy link

Can you carck Instagram password

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants