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/Conbee III, FB7690, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack, Sonos, ESPresence

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

JF Mennedy

#25
Warum wird diese Änderung nicht einfach mal in FHEM übernommen???

JF Mennedy

OK,
anstatt zu meckern, hier eine 1. Version der 31_HUEDevice.pm mit "lift". Als subDevice blind2 zur Auswahl.. Bei mir läuft es... Wer probieren will, gerne... Hab das jetzt schnell fertig gestellt... Werde das noch etwas überarbeiten...

Gruss Jan

JF Mennedy

So, neuer Tag und habe das Modul noch ein wenig angepasst.

subDevice ist jetzt IKEAblindPhoscon.

Hier noch die Definition in fhem:

define Phoscon_HUEDevice12 HUEDevice 12  IODev=Phoscon
attr Phoscon_HUEDevice12 DbLogExclude .*
attr Phoscon_HUEDevice12 IODev Phoscon
attr Phoscon_HUEDevice12 alias Rollo Schlafzimmer
attr Phoscon_HUEDevice12 color-icons 2
attr Phoscon_HUEDevice12 devStateIcon down:fts_shutter_100\
up:fts_window_2w\
100:fts_shutter_100 \
1\d.*:fts_shutter_10\
2\d.*:fts_shutter_20 \
3\d.*:fts_shutter_30 \
4\d.*:fts_shutter_40 \
5\d.*:fts_shutter_50 \
6\d.*:fts_shutter_60 \
7\d.*:fts_shutter_70 \
8\d.*:fts_shutter_80 \
9\d.*:fts_shutter_90
attr Phoscon_HUEDevice12 event-on-change-reading .*
attr Phoscon_HUEDevice12 eventMap /lift 99:down/lift 15:up/
attr Phoscon_HUEDevice12 group Verschattung
attr Phoscon_HUEDevice12 model FYRTUR block-out roller blind
attr Phoscon_HUEDevice12 room 00_Haus,30_Schlafzimmer,51_HUEDevice
attr Phoscon_HUEDevice12 stateFormat pct
attr Phoscon_HUEDevice12 subType IKEAblindPhoscon
attr Phoscon_HUEDevice12 webCmd lift:up:down
#   DEF        12  IODev=Phoscon
#   FUUID      66841c22-f33f-d103-ce3c-b7e75fbb3eec4f14
#   FVERSION   31_HUEDevice.pm:0.282220/2023-11-28
#   ID         12
#   INTERVAL   
#   IODev      Phoscon
#   NAME       Phoscon_HUEDevice12
#   NR         1331
#   STATE      28
#   TYPE       HUEDevice
#   desired    1
#   eventCount 240
#   has_events 1
#   manufacturername IKEA of Sweden
#   modelid    FYRTUR block-out roller blind
#   name       Rollo Schlafzimmer
#   productid  E1757-140
#   swversion  2.3.088
#   type       Window covering device
#   uniqueid   6c:5c:b1:ff:fe:78:e5:9b-01
#   OLDREADINGS:
#   READINGS:
#     2024-07-10 09:14:32   IODev           Phoscon
#     2024-07-10 09:15:21   alert           none
#     2024-07-10 10:22:49   bri             71
#     2024-07-10 10:47:59   lastseen        2024-07-10T08:47Z
#     2024-07-10 10:22:49   lift            28
#     2024-07-10 09:42:59   onoff           1
#     2024-07-10 10:22:49   pct             28
#     2024-07-10 10:22:41   reachable       1
#     2024-07-10 10:47:59   state           dim31%
#   helper:
#     alert      none
#     battery    -1
#     bri        71
#     colormode 
#     ct         -1
#     devtype   
#     dynamics_status
#     effect     
#     hue        -1
#     lastseen   
#     lift       28
#     mode       
#     pct        28
#     reachable  1
#     rgb       
#     sat        -1
#     update_timeout -1
#     v2effect   
#     xy         
#     capabilities:
#       alerts:
#         none
#         select
#         lselect
#     json:
#       etag       d562057a5386525184f135369b697de1
#       lastannounced
#       lastseen   2024-07-10T08:47Z
#       manufacturername IKEA of Sweden
#       modelid    FYRTUR block-out roller blind
#       name       Rollo Schlafzimmer
#       productid  E1757-140
#       swversion  2.3.088
#       type       Window covering device
#       uniqueid   6c:5c:b1:ff:fe:78:e5:9b-01
#       capabilities:
#         alerts:
#           none
#           select
#           lselect
#       state:
#         alert      none
#         bri        71
#         lift       28
#

Wäre schön, wenn das irgendwie in die offizielle 31_HUEDevice.pm mit einfließen könnte. Bis dahin ist das Modul aus den Updates ausgeschlossen...

Gruss Jan


StephanFHEM

#28
Habs bei mir geändert (deine modifizierte PM) und SubType eingestellt. ,,Lift" taucht zwar auf, aber Steuerung ist nicht möglich.

Edit: nach einem aktuellen Deconz Update (Beta) musste ich feststellen, dass die JSON umbenannt wurde. Sie heißt jetzt blind.json. Damit funktioniert die Fyrtur-xyz.json nicht mehr und der Bri Block muss wieder manuell übertragen werden.

JF Mennedy

Hi,

Komisch, bei mir funktioniert es ohne Probleme.. Gateway Version ist die 2.26.3

Json Datei ist eine unveränderte original blind.json...

Gruss Jan