Posted

in

,

Updated

Zigbee-Geräte über Home Assistant (bzw. ZHA) updaten (OTA-Update)

Hier am Beispiel von IKEA-Geräten

Firmware-Version herausfinden

Gerät in Home Assistant öffnen. Hier als Beispiel eine RGB-Birne. Unter „Gerät Informationen“ findet man schon die Firmware-Version, allerdings in einem Format, das nicht so leicht zu lesen ist (hier z. B. „0x23093631“ für Version „2.3.093“).

Das leserliche Format der Software-Version findet man, indem man auf „…“ (1) -> „Zigbee-Gerät verwalten“ (2) klickt. Anschließend unter dem Tab „Cluster“ (1) das Cluster „Basic (Endpoint id: 1, ID: 0x0000, Type: in)“ (2) wählen -> im Tab „Attribute“ (3) das Attribut „sw_build_id (id: 0x4000)“ (4) wählen und auf „Attribut lesen“ (5) klicken. Ist das Zigbee-Gerät dauerhaft mit Strom versorgt (wie z. B. die RGB-Birne), dann wird der Wert direkt abgerufen und im Feld „Wert“ angezeigt – hier „2.3.093“. Ist das Gerät allerdings batteriebetrieben, dann muss man es einmal kurz „aufwecken“, z. B. indem man an einer Fernbedienung eine beliebige Taste drückt.

OTA-Update aufspielen

Release Notes von IKEA: https://ww8.ikea.com/ikeahomesmart/releasenotes/releasenotes.html

Version Info von IKEA (als JSON): http://fw.ota.homesmart.ikea.net/feed/version_info.json

Anleitung: https://www.home-assistant.io/integrations/zha/#ota-firmware-updates

In Home Assistant benutzen wir die Integration ZHA (Zigbee Home Automation). Die ZHA-Integration kann für manche Hersteller-Geräte auch OTA-Updates durchführen, beispielsweise für IKEA-Geräte. Um das automatische OTA-Update für IKEA-Geräte zu aktivieren, füge folgendes in die configuration.yaml ein:

# automatic OTA update for IKEA Trådfri devices
zha:
  zigpy_config:
    ota:
      ikea_provider: true

Starte Home Assistant anschließend neu.

Jetzt kann man warten, bis die IKEA-Geräte nach einiger Zeit selbst nach einem Update fragen und dieses automatisch im Hintergrund aufspielen lassen. Oder man triggert das OTA-Update für ein konkretes IKEA-Gerät manuell.

Logging aktivieren

# activate logging for OTA update related messages
logger:
  default: info
  logs:
    zigpy: debug
  filters:
    zigpy:
      - "^ota" # only log messages from zigpy containing the term 'ota'

(1) Einstellungen -> System -> Logs -> (2) oben rechts „Home Assistant Core“ -> (3) ganz unten Button „vollständige Protokolle laden“

regelmäßige Updates:

pro Gerät scheint einmal täglich ein Update gecheckt zu werden:

OTA-Update manuell triggern

Wir wählen ein beliebiges IKEA-Gerät aus unserem Zigbee-Netzwerk aus, in diesem Beispiel nehme ich eine Birne „TRADFRIbulbE27WSglobeopal1055lm“. Wie oben beschrieben, notieren wir uns einige Infos zum aktuellen (Software-)Stand der Birne:

  • app_version: 16
  • date_code: 20201111
  • stack_version: 103
  • sw_build_id: 1.0.012

Wähle im Tab „Cluster“ (1) das Cluster „Ota (Endpoint id: 1, id: 0x0019, Type: out)“ (2) und im Tab „Befehle“ (3) den Befehl „image_nofity (id: 0x0000)“ (4). Bei „payload_type“ wählt man „QueryJitter“ (5) und stellt als „query_jitter“ Wert 100 ein (6). Die weiteren Felder lässt man leer und klickt auf den ausgegrauten Button „Zigbee-Kommando absetzen“ (7). Auch wenn der Button ausgegraut ist (und ggf. eine Fehlermeldung bezüglich nicht gesetzter Werte erscheint), hat das Abschicken des Befehls funktioniert.

In den Logs sieht man anschließend folgendes:

Ich konnte für meine Geräte beispielsweise folgende Updates durchführen:

Gerätebezeichnungsw_build_id
vor Update
sw_build_id
nach Update
TRADFRI Driver 10W1.2.2452.3.086
SILVERGLANS IP44 LED driver1.0.0211.0.021
(unverändert)
TRADFRI motion sensor2.0.0222.0.022
(unverändert)
TRADFRI bulb E27 WS opal 1000lm2.0.0221. Update: 2.3.091

2. Update: 2.3.095
TRADFRIbulbE27WSglobeopal1055lm1.0.0121.0.012
(unverändert)
TRADFRIbulbE27WSglobeclear806lm1.0.0121.0.012
(unverändert)
TRADFRI bulb GU10 WS 400lm2.0.0221. Update: 2.3.091

2. Update: 2.3.095
TRADFRI remote control (Nr. 1)Firmware: 0x23014631; sw_build_id: 2.3.014Firmware: 0x24040005;
sw_build_id:
24.4.5
TRADFRI remote control (Nr. 2)2.3.080Firmware: 0x24040005;
sw_build_id:
24.4.5
TRADFRIbulbGU10WS345lm1.0.0121.0.012
(unverändert)
TRADFRI on/off switch2.2.0102.3.079
TRADFRIbulbE14WSglobeopal470lm1.0.0121.0.012
(unverändert)

Titelbild: by Moritz Kindler on Unsplash, Home Assistant Logo, modified with Canva

Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Consent Management Platform von Real Cookie Banner