deCONZ Window covering device: bri vs. lift

Begonnen von Weisswurstverkäufer, 19 Juli 2023, 08:48:17

Vorheriges Thema - Nächstes Thema

Jamo

Und hier der diff zur originalen 2.23.1 version jamo@inuc:~/.local/share/dresden-elektronik/deCONZ/devices/ikea$ diff /usr/share/deCONZ/devices/ikea/fyrtur_block-out_roller_blind.json ./fyrtur_block-out_roller_blind.json
2,138c2,90
<     "schema": "devcap1.schema.json",
<     "manufacturername": "$MF_IKEA",
<     "modelid": "FYRTUR block-out roller blind",
<     "vendor": "IKEA of Sweden",
<     "product": "FYRTUR block-out roller blind",
<     "sleeper": false,
<     "status": "Gold",
<     "subdevices": [
<         {
<             "type": "$TYPE_WINDOW_COVERING_DEVICE",
<             "restapi": "/lights",
<             "uuid": [
<                 "$address.ext",
<                 "0x01"
<             ],
<             "items": [
<                 {
<                     "name": "attr/id"
<                 },
<                 {
<                     "name": "attr/lastannounced"
<                 },
<                 {
<                     "name": "attr/lastseen"
<                 },
<                 {
<                     "name": "attr/manufacturername"
<                 },
<                 {
<                     "name": "attr/modelid"
<                 },
<                 {
<                     "name": "attr/name"
<                 },
<                 {
<                     "name": "attr/swversion"
<                 },
<                 {
<                     "name": "attr/type"
<                 },
<                 {
<                     "name": "attr/uniqueid"
<                 },
<                 {
<                     "name": "state/lift"
<                 },
<                 {
<                     "name": "state/open",
<                     "parse": {
<                         "fn": "zcl",
<                         "ep": 1,
<                         "cl": "0x0102",
<                         "at": "0x0008",
<                         "eval": "Item.val = Attr.val === 0"
<                     },
<                     "read": {
<                         "fn": "none"
<                     }
<                 },
<                 {
<                     "name": "state/reachable"
<                 }
<             ]
<         },
<         {
<             "type": "$TYPE_BATTERY_SENSOR",
<             "restapi": "/sensors",
<             "uuid": [
<                 "$address.ext",
<                 "0x01",
<                 "0x0001"
<             ],
<             "fingerprint": {
<                 "profile": "0x0104",
<                 "device": "0x0202",
<                 "endpoint": "0x01",
<                 "in": [
<                     "0x0000",
<                     "0x0001",
<                     "0x0102"
<                 ],
<                 "out": [
<                     "0x0019"
<                 ]
<             },
<             "items": [
<                 {
<                     "name": "attr/id"
<                 },
<                 {
<                     "name": "attr/lastannounced"
<                 },
<                 {
<                     "name": "attr/lastseen"
<                 },
<                 {
<                     "name": "attr/manufacturername"
<                 },
<                 {
<                     "name": "attr/modelid"
<                 },
<                 {
<                     "name": "attr/name"
<                 },
<                 {
<                     "name": "attr/swversion",
<                     "read": {
<                         "fn": "none"
<                     }
<                 },
<                 {
<                     "name": "attr/type"
<                 },
<                 {
<                     "name": "attr/uniqueid"
<                 },
<                 {
<                     "name": "config/on"
<                 },
<                 {
<                     "name": "config/reachable"
<                 },
<                 {
<                     "name": "state/battery",
<                     "refresh.interval": 3700,
<                     "parse": {
<                         "fn": "zcl",
<                         "ep": 1,
<                         "cl": "0x0001",
<                         "at": "0x0021",
<                         "eval": "Item.val = Attr.val"
<                     }
<                 },
<                 {
<                     "name": "state/lastupdated"
<                 }
<             ]
---
>   "schema": "devcap1.schema.json",
>   "manufacturername": "$MF_IKEA",
>   "modelid": "FYRTUR block-out roller blind",
>   "vendor": "IKEA of Sweden",
>   "product": "FYRTUR block-out roller blind",
>   "sleeper": false,
>   "status": "Gold",
>   "subdevices": [
>     {
>       "type": "$TYPE_WINDOW_COVERING_DEVICE",
>       "restapi": "/lights",
>       "uuid": [
>         "$address.ext",
>         "0x01"
>       ],
>       "items": [
>         {
>           "name": "attr/id"
>         },
>         {
>           "name": "attr/lastannounced"
>         },
>         {
>           "name": "attr/lastseen"
>         },
>         {
>           "name": "attr/manufacturername"
>         },
>         {
>           "name": "attr/modelid"
>         },
>         {
>           "name": "attr/name"
>         },
>         {
>           "name": "attr/swversion"
>         },
>         {
>           "name": "attr/type"
>         },
>         {
>           "name": "attr/uniqueid"
>         },
>         {
>           "name": "state/bri",
>           "parse": {
>             "at": "0x0008",
>             "cl": "0x0102",
>             "ep": 1,
>             "eval": "Item.val = Math.round((254 * Attr.val) / 100)",
>             "fn": "zcl"
>            },
>            "read": {
>              "fn": "none"
>            },
>            "deprecated": "2020-04-08"
>         },
>         {
>           "name": "state/lift"
>         },
>         {
>           "name": "state/on",
>           "parse": {
>             "at": "0x0008",
>             "cl": "0x0102",
>             "ep": 1,
>             "eval": "Item.val = Attr.val > 0",
>             "fn": "zcl"
>           },
>           "read": {
>             "fn": "none"
>            },
>           "deprecated": "2020-04-08"
>         },
>         {
>           "name": "state/open",
>           "parse": {
>             "fn": "zcl",
>             "ep": 1,
>             "cl": "0x0102",
>             "at": "0x0008",
>             "eval": "Item.val = Attr.val === 0"
>           },
>           "read": {
>             "fn": "none"
>           }
>         },
>         {
>           "name": "state/reachable"
140,141c92,148
<     ],
<     "bindings": [
---
>       ]
>     },
>     {
>       "type": "$TYPE_BATTERY_SENSOR",
>       "restapi": "/sensors",
>       "uuid": [
>         "$address.ext",
>         "0x01",
>         "0x0001"
>       ],
>       "fingerprint": {
>         "profile": "0x0104",
>         "device": "0x0202",
>         "endpoint": "0x01",
>         "in": [
>           "0x0000",
>           "0x0001",
>           "0x0102"
>         ],
>         "out": [
>           "0x0019"
>         ]
>       },
>       "items": [
>         {
>           "name": "attr/id"
>         },
>         {
>           "name": "attr/lastannounced"
>         },
>         {
>           "name": "attr/lastseen"
>         },
>         {
>           "name": "attr/manufacturername"
>         },
>         {
>           "name": "attr/modelid"
>         },
>         {
>           "name": "attr/name"
>         },
>         {
>           "name": "attr/swversion",
>           "read": {
>             "fn": "none"
>           }
>         },
>         {
>           "name": "attr/type"
>         },
>         {
>           "name": "attr/uniqueid"
>         },
>         {
>           "name": "config/on"
>         },
143,144c150,157
<             "bind": "unicast",
<             "src.ep": 1,
---
>           "name": "config/reachable"
>         },
>         {
>           "name": "state/battery",
>           "refresh.interval": 3700,
>           "parse": {
>             "fn": "zcl",
>             "ep": 1,
146,154c159,161
<             "report": [
<                 {
<                     "at": "0x0021",
<                     "dt": "0x20",
<                     "min": 1,
<                     "max": 3600,
<                     "change": "0x00000001"
<                 }
<             ]
---
>             "at": "0x0021",
>             "eval": "Item.val = Attr.val"
>           }
157,168c164,194
<             "bind": "unicast",
<             "src.ep": 1,
<             "cl": "0x0102",
<             "report": [
<                 {
<                     "at": "0x0008",
<                     "dt": "0x20",
<                     "min": 1,
<                     "max": 300,
<                     "change": "0x00000001"
<                 }
<             ]
---
>           "name": "state/lastupdated"
>         }
>       ]
>     }
>   ],
>   "bindings": [
>     {
>       "bind": "unicast",
>       "src.ep": 1,
>       "cl": "0x0001",
>       "report": [
>         {
>           "at": "0x0021",
>           "dt": "0x20",
>           "min": 1,
>           "max": 3600,
>           "change": "0x00000001"
>         }
>       ]
>     },
>     {
>       "bind": "unicast",
>       "src.ep": 1,
>       "cl": "0x0102",
>       "report": [
>         {
>           "at": "0x0008",
>           "dt": "0x20",
>           "min": 1,
>           "max": 300,
>           "change": "0x00000001"
170c196,198
<     ]
---
>       ]
>     }
>   ]
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/ConbeeII, FB, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack

Weisswurstverkäufer

Es gibt seit gestern *ein* neues DDF für alle Ikea Window Covering Devices welches alle alten ersetzt: https://github.com/dresden-elektronik/deconz-rest-plugin/commit/b844d9a91713768945b31f8511fce4f49a14f37b (weiterhin ohne bri). Da müssen wir auf jeden Fall nochmal schauen sobald das released ist

tk-ham

Durch das Reinkopieren der state/bri und state/on Blöcke in das JSON funktioniert es bei mir jetzt auch - vielen Dank!

Hugo Becker

Auch bei mir funktioniert es jetzt mit deCONZ 2.23.1.

Änderungsreihenfolge:

1.) installierte Version: 2.21.2
2.) Sicherungen der "/usr/share/deCONZ/devices/ikea/fyrtur_block-out_roller_blind.json"
3.) Update auf deCONZ 2.23.1
4.) Ersetzen des "bri" und "on" Blockes aus der gesicherten DDF in die neue.
5.) sudo systemctl restart deconz
6.) funktioniert alles !!!

Vielen, vielen Dank an Euch alle.

Weisswurstverkäufer

Ihr solltet die Datei in /usr/share/deCONZ/devices/ikea/ aber besser nicht überschreiben. Die wird dann beim nächsten Update wieder überschrieben. Besser wäre es das zu überladen indem ihr die Datei im ~/.local/share/dresden-elektronik/deCONZ/devices Ordner ablegt. Die hat höher Priorität (siehe auch https://github.com/dresden-elektronik/deconz-rest-plugin/wiki/DDF-cheat-sheet#precedence-of-ddf-files)

Hugo Becker

Danke, Du hattest es ja schon vorher geschrieben. Habe ich jetzt auch so gemacht.

StephanFHEM

Top! Danke für eure Lösung, hab gerade nach einem Update wieder nachgeschaut ob ich den Downgrade umgehen kann und wie hier beschrieben funktioniert es. Lohnt es sich eigentlich die Daten mit den neusten Änderungen anzupassen und zu nutzen? hab aktuell einfach nur die alte Fyrtur-Datei ins Prio-Verzeichnis gestellt...

Weisswurstverkäufer

Es wird demnächst noch eine neue Version geben, die die neue Akkustandberechnung für die aktuelle Firmware unterstützt:

https://github.com/dresden-elektronik/deconz-rest-plugin/pull/7269/files

Das zu übernehmen macht natürlich Sinn wenn man Geräte mit der aktuellen Firmware hat (was haben haben sollte - und wenn nicht sollte man sie updaten)

StephanFHEM

hab leider eh kein IKEA Hub für ein Update. Und ein Update-File für die Rolles für Deconz dauert wohl noch

Weisswurstverkäufer

Also ich habe die im Juni über deCONZ updated. Das war gar kein Problem. Runtergeladen mit dem Script: https://github.com/dresden-elektronik/deconz-rest-plugin/blob/master/ikea-ota-download.py