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

Hue Firmware Update #10

Closed
Krocko opened this issue Nov 14, 2017 · 238 comments
Closed

Hue Firmware Update #10

Krocko opened this issue Nov 14, 2017 · 238 comments

Comments

@Krocko
Copy link

Krocko commented Nov 14, 2017

Today Philips published firmware updates for various lights. Any chance to update the lights with deCONZ?

@ebaauw
Copy link
Collaborator

ebaauw commented Nov 18, 2017

Today Philips published firmware updates for various lights

Which lights? Which versions? I see no mention of this on the release notes, nor in the Hue developer forum.

@snozzlebert
Copy link

On the Dutch website: http://www2.meethue.com/nl-nl/ondersteuning/versie-informatie/lamps-luminaires
I've upgraded my LCT015, LTW012, LWB010 yesterday. All to version 1.29.0_r21169
I think

Security improvement: proximity based linking with a Hue dimmer switch is now only possible for 30 minutes after the light is powered on.

also affects the Touchlink function in deCONZ.
Possibly it contains changes for Hue Entertainment? (#167)

@Krocko
Copy link
Author

Krocko commented Nov 18, 2017

@ebaauw i have read about it in a German forum.

http://forum.smartapfel.de/forum/thread/675-heute-großes-hue-lampenupdate/

@manup
Copy link
Member

manup commented Nov 18, 2017

Currently it is not possible to update Hue lights with deCONZ due the lack of official available firmware files.

The changelog suggests that there are no functional improvements, but the Touchlink restriction for 30 min is quite useful and prevents a evil neighbour from stealing your lights :)

@ebaauw
Copy link
Collaborator

ebaauw commented Nov 18, 2017

Cool, thanks!

Any chance to update the lights with deCONZ?

Yes, please. Really not looking forward at resetting all of my 29 Hue lights, connecting them to the Hue bridge for updating the firmware, resetting them, connecting them back to deCONZ, hoping the groups and scenes will be restored correctly. I'm really tempted to try if the Hue bridge will update the light firmware when it's joined to the deCONZ network (see dresden-elektronik/deconz-rest-plugin#266).

I like the security improvement, but it really shows Philips expect the lights to be powered all the time. In other words: they don't plan on supporting state.reachable for traditional wall switches, nor providing sensible power-on defaults. I wonder if the 30min limitation also holds for the reset through the Hue dimmer switch (holding On and Off buttons for 10 seconds)?

Possibly it contains changes for Hue Entertainment?

Would they report that as Reachability improvements of the lights.? I would expect a bridge firmware update and app update for that as well.

@snozzlebert
Copy link

Possibly it contains changes for Hue Entertainment?

Would they report that as Reachability improvements of the lights.? I would expect a bridge firmware update and app update for that as well.

I'm pretty sure the firmware is related to Hue Entertainment.
There is a difference in capabilities in the bridge response before and after the firmware update of a bulb.
Before:

{
    "state": {
        "on": true,
        "bri": 254,
        "hue": 8418,
        "sat": 140,
        "effect": "none",
        "xy": [
            0.4573,
            0.41
        ],
        "ct": 366,
        "alert": "none",
        "colormode": "ct",
        "mode": "homeautomation",
        "reachable": true
    },
    "swupdate": {
        "state": "noupdates",
        "lastinstall": null
    },
    "type": "Extended color light",
    "name": "Hue color candle 1",
    "modelid": "LCT012",
    "manufacturername": "Philips",
    "capabilities": {
        "streaming": {
            "renderer": false,
            "proxy": false
        }
    },
    "uniqueid": "00:17:88:01:03:00:0a:0a-0b",
    "swversion": "1.15.2_r19181",
    "swconfigid": "79A02AB9",
    "productid": "Philips-LCT012-1-E14ECLv1"
}

After:

{
    "state": {
        "on": false,
        "bri": 254,
        "hue": 0,
        "sat": 0,
        "effect": "none",
        "xy": [
            0.3804,
            0.3768
        ],
        "ct": 366,
        "alert": "none",
        "colormode": "ct",
        "mode": "homeautomation",
        "reachable": true
    },
    "swupdate": {
        "state": "noupdates",
        "lastinstall": "2017-12-06T20:42:04"
    },
    "type": "Extended color light",
    "name": "Hue color candle 1",
    "modelid": "LCT012",
    "manufacturername": "Philips",
    "capabilities": {
        "streaming": {
            "renderer": true,
            "proxy": true
        }
    },
    "uniqueid": "00:17:88:01:03:00:0a:0a-0b",
    "swversion": "1.29.0_r21169",
    "swconfigid": "EA9279F9",
    "productid": "Philips-LCT012-1-E14ECLv1"
}

streaming.renderer and streaming.proxy are true after updating

@ebaauw
Copy link
Collaborator

ebaauw commented Dec 11, 2017

Yes. What Hue bridge firmware are you on? See also ebaauw/homebridge-hue#217 (comment).

@snozzlebert
Copy link

Version is 1.22.0

@ebaauw
Copy link
Collaborator

ebaauw commented Dec 11, 2017

Ah, I see they published it Nov 27.

@mathos77
Copy link

Not that I have any issues with my current Hue bulbs, but it would be nice if we would somehow be enabled to update the lights via deCONZ.

If we would know where the firmware files are, would we then be able to update the bulbs ?

@ebaauw
Copy link
Collaborator

ebaauw commented Apr 19, 2018

That depends on whether they’re encrypted.

@qraynaud
Copy link

That would indeed be a very cool feature to have. It should be possible to proxy the Philips hue app to see where it checks for updates and downloads them. Right now mine says there is no update available so it's too late for that though (I updated everything using the hue app and am just switching over to deconz).

@timbru31
Copy link

If it helps I could do some network sniffing and provide the request and responses from the Hue App / Bridge, I have to update some hue bulbs and can borrow a bridge.

@qraynaud
Copy link

@timbru31 yes, now you're saying I feel like it's a lot more sensitive to sniff the bridge 👍

@manup
Copy link
Member

manup commented Nov 20, 2018

Would be interesting to access the files not sure if the url can be sniffed when https is used and it might be within the content body.

@stale
Copy link

stale bot commented Mar 20, 2019

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@Hypfer
Copy link
Contributor

Hypfer commented Mar 20, 2019

This bot does more harm than good tbh

@timbru31
Copy link

Sorry for the silence - I had no luck back in November (had to bring the bridge back the day after) but purchased a used Hue bridge for small money, so I have more time to sniff the network traffic now :)

@timbru31
Copy link

timbru31 commented Apr 14, 2019

It seems that the Hue App is actually downloading the firmware, at least this is the only interesting package I've found when my Hue app was searching for new software updates:
Screen Shot 2019-04-14 at 22 47 54


Edit: I believe this is a captured package from the bridge which would make more sense.

@ebaauw
Copy link
Collaborator

ebaauw commented Apr 14, 2019

It's the Hue bridge that downloads the firmware, not the app. The app just issues a REST API call to the bridge to start the search.

@timbru31
Copy link

Yeah captured that now, too: {"swupdate":{"checkforupdate":true}} is the payoad in the PUT request.

@timbru31
Copy link

timbru31 commented Apr 15, 2019

My bridge made a request to http://fds.dc1.philips.com/firmware/ZGB_100B_010C/16783872/100B-010C-01001A00-ConfLight-Lamps_0012.zigbee (267kb)

No auth needed for the request. Any idea what this file could be? strings and a HexEditor did not yield any useful information.

@ebaauw
Copy link
Collaborator

ebaauw commented Apr 15, 2019

Judging by the filename and size, that's a firmware image alright.

100B-010C-01001A00-ConfLight-Lamps_0012.zigbee
|    |    + image file version
|    +- image type (device type)
+- manufacturer code 0x100b = Philips

These match the fields in the STD OTAU Plugin panel of the deCONZ GUI, see e.g. dresden-elektronik/deconz-rest-plugin#96 (comment).

The image type and file version match the current (1.46.13_r26312) firmware for the Color Temperature bulbs and spots (LTWxxx).

Now the $100M question is whether this file is encrypted. If it isn't, you should be able to download it, feed it do the OTAU plugin and update the firmware from deCONZ. If it is, the file is useless without the decryption key.

@timbru31
Copy link

timbru31 commented Apr 15, 2019

I have sniffed the NWK of the Hue bridge so I can capture the Zigbee packages, too. And the ZLL OTA cluster is (AFAIK) without encrypted firmware?


Edit: By the way this is the current state of the /config response from the Hue bridge. Notice the text property:

	"swupdate": {
		"updatestate": 2,
		"checkforupdate": false,
		"devicetypes": {
			"bridge": false,
			"lights": [
				"1"
			],
			"sensors": []
		},
		"url": "",
		"text": "ZGB_100B_010C - ConfLight Lamps SAMR21 - 26.0",
		"notify": false
	},

@manup
Copy link
Member

manup commented Apr 15, 2019

Awesome!

Yes this is a valid OTA image and encrypted but that's ok. OTA files should be encrypted since they are transferred transparently.

image

@manup
Copy link
Member

manup commented Apr 15, 2019

Note decryption usually is done on the receiving device.

Some vendors don't encrypt their files though (not saying any names here..).

@ebaauw
Copy link
Collaborator

ebaauw commented Apr 15, 2019

Note decryption usually is done on the receiving device.

Cool, didn't know that.

The URI seems to redirect to the AWS cloud. They don't support browsing the directory structure (if the URI path even reflects one), so we might have to re-sniff the Hue bridge for every type and version. Unless there's like an index file containing links to the firmware files, like IKEA has.

I suppose the Hue bridge only requests the firmware for connected lights?

@manup
Copy link
Member

manup commented Apr 15, 2019

I suppose the Hue bridge only requests the firmware for connected lights?

Likely, maybe something like pihole in between can help to figure out more URLs.

@timbru31
Copy link

The URI seems to redirect to the AWS cloud. They don't support browsing the directory structure (if the URI path even reflects one), so we might have to re-sniff the Hue bridge for every type and version. Unless there's like an index file containing links to the firmware files, like IKEA has.

The only URL that's not returning a 404 is http://fds.dc1.philips.com/ with a (strange?) response of ecdprd
Is it actually an S3 bucket? There are some tools to scan them :)

I suppose the Hue bridge only requests the firmware for connected lights?

Seems to be true. On the other hand I've only got the E14 lights.

Likely, maybe something like pihole in between can help to figure out more URLs.

I've got one running, too. I can take some deeper looks into the logged queries.

@timbru31
Copy link

timbru31 commented Apr 15, 2019

The image type and file version match the current (1.46.13_r26312) firmware for the Color Temperature bulbs and spots (LTWxxx).

Firmware matches my updated LCT012, too

@mkaay
Copy link
Contributor

mkaay commented Oct 12, 2020

@gvdhoven The lamp should tell you what version it needs. I'm not using Deconz myself, but from the screenshots that have been posted here, there should be an "Image" column that contains the image version you need to download.
Unfortunately there is no mapping of product name/code to image version available via the API.

@sorryusernameisalreadytaken

@sorryusernameisalreadytaken you might need to re-read the firmware version property of the basic cluster for it to change in phoscon.

Where and how can I do this?

@Hypfer sorry it seems I can ot put images intos the spoiler-details tags :/

@gvdhoven
Copy link

Actually @mkaay the link posted by @sorryusernameisalreadytaken shows me that my White Ambiance (BLE) GU10 bulbs have code 0x0114. Problem solved 👍

@sorryusernameisalreadytaken
Copy link

sorryusernameisalreadytaken commented Oct 13, 2020

Okay, I think my marthoc-deconz docker allready update all my HUE lights and switches. Ihink this is my only problem:

After deleting it and pairing it again, it showed up as new light with the correct firmware version. So it seems, that there is an Issue with updating FW versions after OTA update.

You need to force-read the Basic cluster attributes before the GUI and REST API show the new firmware (and date code?). If the new firmware exposes a different profile or device id (e.g. upgrade from ZLL to Zigbee 3.0, which uses ZHA), you need to delete and re-pair the device. Just force-reading the Simple Descriptors isn't enough to update the GUI.

I did this now with one LCT015 and the result is that I can see the new fw:
01

But it seems that OTAU still showed me the old fw (?)
grafik

How long does it take to see the model, vendor and firmware again in the node-list?
01

What is the easyest way to solve this for
26 devices :D ?

@Hypfer
Copy link
Contributor

Hypfer commented Oct 13, 2020

Since it's just a meaningless string and you know that they're running the latest firmware, I'd strongly suggest completely ignoring it.

The easiest way to update multiple lights is to download all firmwares to ~/otau/ and then deconz should automatically update every light in the background by selecting the appropriate image. No manual work needed. Just download all of them

If it doesn't you might need to enable the Otau server in the old web interface's advanced settings

@sorryusernameisalreadytaken
Copy link

sorryusernameisalreadytaken commented Oct 13, 2020

The easiest way to update multiple lights is to download all firmwares to ~/otau/ and then deconz should automatically update every light in the background by selecting the appropriate image. No manual work needed. Just download all of them

If it doesn't you might need to enable the Otau server in the old web interface's advanced settings

THX for that information. It seems for me that my deconz this endless :D
Especially for devices that do not update atm like my LST002. It stucked at 53%.

THX. Just want to involve @philips-labs & @philips-software to that problem. I am sure that they want be as cool as ikea :D and I am sure they want to share this information with us to get more security out there for all HUE users.
Let us qoute them:
https://github.com/philips-software/philips-howto-open-source#2-motivation

Unfortunately we cannot help you. All Hue related stuff has been moved out of Philips to Signify. Maybe the people behind PhilipsHue github organization can help you: https://github.com/PhilipsHue

THX for the idea. Lets do it 👍
@PattyBakenSignify @Atilla-Bilgic @Noraccire @PhilipsHue
Can anybody of you helps us to focus our time on fixing update-process instead of sniffing ota urls for hue devices?

@Hypfer
Copy link
Contributor

Hypfer commented Oct 13, 2020

Can you not mass-highlight users

@ottelo9
Copy link

ottelo9 commented Nov 4, 2020

I've problem updating one of my Hue Dimming Switch firmware (RWL020). I successfully had updated 10 of my 11 switches to 28573 (0x42006f9d) from 0x42003f89. But one of my switches wont update. Its firmware version is 17846 (0x420045b6). In the deconz GUI (vnc) it will only show "idle". I've tried several times (press a button and then press update, reread the basic cluster ...). Anyone had/have the same problem? Any hints for me?

@Magoo2
Copy link

Magoo2 commented Nov 7, 2020

Updating Hue products seems not to be so easy :-(
I've updated a Hue Being White Ambiance without problems, thanks for the good work here.

But I have big problems with the Hue motion sensors. When i start the Update after a few seconds, i will stuck in the "Queued" Progress. Maybe you have some solutions for me?

@ottelo9
Copy link

ottelo9 commented Nov 7, 2020

@Magoo2
Wait until next day. In my case after a day or so my Motion Sensors and Dimm Switches are updated.

Mhhh now I have the same problem. One of my Dimming Switches stuck in Queued after the progress was ~few %.

@Magoo2
Copy link

Magoo2 commented Nov 15, 2020

Waiting for the other day doesn't help :(
Hopefully someone has another idea what i can do?

@ottelo9
Copy link

ottelo9 commented Nov 15, 2020

Whats the battery level of your sensors?

Waiting for the other day doesn't help :(
Hopefully someone has another idea what i can do?

@bcutter
Copy link

bcutter commented Jan 19, 2021

What´s the best way to update firmware of Philips Hue devices when using Phoscon/deCONZ (ConBee 2)?
Where to get latest firmware OTA files?

@ottelo9
Copy link

ottelo9 commented Jan 19, 2021

@bcutter
https://github.com/dresden-elektronik/deconz-ota-plugin

works for me for almost every device. But this didn’t work for some of my Hue Dimming switches. So I bought a old used Hue bridge to update them.

@jdeluyck
Copy link

I'm trying to get a motion sensor (Hue) to update. Downloaded the update, put it in /data/otau, deconz finds it and does it's magic.

Then added it with the STD Otau plugin, and it stays in 'Queued'...

@woytekbode
Copy link

@jdeluyck any luck? I have the same problem with the hue motion sensor. Followed the same steps, everything appears alright but it hangs on "queued".

@jdeluyck
Copy link

jdeluyck commented May 9, 2021

@jdeluyck any luck? I have the same problem with the hue motion sensor. Followed the same steps, everything appears alright but it hangs on "queued".

None sofar. Once it started but hung at 7%.

@woytekbode
Copy link

@jdeluyck I have made progress, check my newly opened issue!

@jdeluyck
Copy link

#27

@Tamas-Toth-ebola
Copy link

Tamas-Toth-ebola commented Apr 26, 2022

Hi @Hypfer !

I'm very glad to found this thread as with your help I could successfully upgrade my old (2019) 'Hue - Fair' ceiling lamp firmware from the original 1.16.1_r19181 (20160907) to 1.88.1 (20210331) in 2 step ( > 01001904 > 01001F00 ) with Home Assistant/'zigpy' through 'SONOFF - Zigbee 3.0 USB Dongle Plus' which is I know that somewhat off-topic, but the chronology here the thread helped me a lot.

(Small comment: I didn't have to restart and re-pair the device. I saw the upgraded FW immediately after the upgrade process.)

I just report it here if you want to put the device ID into the 'OTA Image Types Firmware versions' manual/documentation?! The device ID is LTC002, and the firmware type is 0x010e, and the lamp is an old 'Hue - Fair' (behind 40340/30/P7 model code).

Thanks to all of you for your help in this thread!

UPDATE:

Maybe an important (but not new) comment for the process, that the 2 step process was an absolutely must, as from the original 1000700 FW I could not upgrade directly to 01001F00. The process went fine, without any errors, but at the end I got just the original FW on the device. Luckily I found that there are two available OTA files for the device, and as last chance (my last hope was that maybe there are some limits on the FW upgrades from the aspect of their versions) I tried to first update directly to 01001904 and just later to the 01001F00. With this 2 step process I had finally success.

I know that this was somewhere already mentioned, but I thought would be better to clearly summarize it here again.

@popy2k14
Copy link

@Tamas-Toth-ebola
Thanks for your post.
deconz was updating my ~60x LWB010 (vendor 0x100B & Image 0x010C) in an loop from 1.46.13_r26312 (01001A00) to 1.88.1 (01002100).

After reading your post, i tried a middle step to 1.50.2_r30933 (01001A02), and that worked!

thx

@Hypfer
Copy link
Contributor

Hypfer commented Jun 1, 2022

@Tamas-Toth-ebola @popy2k14

Thank you!
I completely forgot about this.

Recently, I've bought a few used Hue Signes (0x010E), which occasionally just rebooted. I didn't bother looking into it though.
After reading your comments, I did check the current firmware version and discovered that those were stuck in an endless update-reboot-loop as well.

@Tamas-Toth-ebola
Copy link

I'm glad if I could help you!

Anyway based on this/these experience(s) would be better to drastically highlight this problem, and the corresponding requirement/possibility in all the documents (maybe here, at zigpy, home assistant, etc.) about the upgrades.

@popy2k14
Copy link

popy2k14 commented Jun 1, 2022

@Hypfer thx for creating an issue for this.

@Tamas-Toth-ebola
I am with you, that should be noted in EVERY wiki document!
Like here: https://github.com/dresden-elektronik/deconz-rest-plugin/wiki/OTA-Image-Types---Firmware-versions
...and so on...

@OosieW
Copy link

OosieW commented Dec 29, 2022

Hi @Hypfer !

I'm very glad to found this thread as with your help I could successfully upgrade my old (2019) 'Hue - Fair' ceiling lamp firmware from the original 1.16.1_r19181 (20160907) to 1.88.1 (20210331) in 2 step ( > 01001904 > 01001F00 ) with Home Assistant/'zigpy' through 'SONOFF - Zigbee 3.0 USB Dongle Plus' which is I know that somewhat off-topic, but the chronology here the thread helped me a lot.
(...)

@Tamas-Toth-ebola Where did you get the firmware file with version 1.88.1, used for this upgrade? At https://github.com/dresden-elektronik/deconz-rest-plugin/wiki/OTA-Image-Types---Firmware-versions I only see version 1.50.2_r30933. Also having a Fair ceiling lamp (LTC002) and firmware version now is 20191218.

@Tamas-Toth-ebola
Copy link

Tamas-Toth-ebola commented Dec 29, 2022

Hi @Hypfer !
I'm very glad to found this thread as with your help I could successfully upgrade my old (2019) 'Hue - Fair' ceiling lamp firmware from the original 1.16.1_r19181 (20160907) to 1.88.1 (20210331) in 2 step ( > 01001904 > 01001F00 ) with Home Assistant/'zigpy' through 'SONOFF - Zigbee 3.0 USB Dongle Plus' which is I know that somewhat off-topic, but the chronology here the thread helped me a lot.
(...)

@Tamas-Toth-ebola Where did you get the firmware file with version 1.88.1, used for this upgrade? At https://github.com/dresden-elektronik/deconz-rest-plugin/wiki/OTA-Image-Types---Firmware-versions I only see version 1.50.2_r30933. Also having a Fair ceiling lamp (LTC002) and firmware version now is 20191218.

Hi @OosieW !

You can download the latest publicly 'reachable' firmwares from KoenkK's repo: https://github.com/Koenkk/zigbee-OTA/blob/master/index.json - search for "imageType": 270, for LTC002. The current latest is 1.101.2, just some months old, which is the /100B-010E-01002300-ConfLight-ModuLum_0012.zigbee, the previous version was the 1.88.1 with filename [100B-010E-01001F00-ConfLight-ModuLum_0012.zigbee but for both of them you have to use minimally the 1.50.2 with filename 100B-010E-01001904-ConfLight-ModuLum_0012.zigbee as from previous firmware versions you can not upgrade to the current ones in one step. The 1.88.1 is no longer available from KoenkK as there is a fresher one which of course includes all the previous extras/fixes.

I hope I could help you, and wish you a Happy New Year!

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

No branches or pull requests