deCONZ Window covering device: bri vs. lift

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

Vorheriges Thema - Nächstes Thema

Weisswurstverkäufer

Hallo,

ich habe mich gerade gewundert wieso meine Ikea FYRTUR Rollos in FHEM nicht mehr richtig dargestellt werden. Es stellt sich heraus dass sie "bri" deprecated haben, weil es jetzt "lift" (Prozentwert) gibt: https://dresden-elektronik.github.io/deconz-rest-doc/endpoints/lights/#window-covering-parameters und bei den FYRTUR kommen die "bri" Werte über die API auch nicht (anders bei den Ubisys J1 die ich auch habe - da kommt sowohl "bri" als auch "lift"). Weiterhin gibt es jetzt "open" statt "on".

Jedenfalls wird "lift"/"open" irgendwie nicht in FHEM als Reading übernommen. Könnte das hinzugefügt werden?

So sieht das beispielhaft aus wenn es komplett offen, halb offen und geschlossen ist:

{
  "config": {
    "groups": [
      "0",
      "31"
    ]
  },
  "etag": "...",
  "hascolor": false,
  "lastannounced": null,
  "lastseen": "2023-07-19T06:38Z",
  "manufacturername": "IKEA of Sweden",
  "modelid": "FYRTUR block-out roller blind",
  "name": "Rollo DG",
  "state": {
    "lift": 0,
    "open": true,
    "reachable": true
  },
  "swversion": "2.2.009",
  "type": "Window covering device",
  "uniqueid": "..."
}

{
  "config": {
    "groups": [
      "0",
      "31"
    ]
  },
  "etag": "...",
  "hascolor": false,
  "lastannounced": null,
  "lastseen": "2023-07-19T06:42Z",
  "manufacturername": "IKEA of Sweden",
  "modelid": "FYRTUR block-out roller blind",
  "name": "Rollo DG",
  "state": {
    "lift": 50,
    "open": false,
    "reachable": true
  },
  "swversion": "2.2.009",
  "type": "Window covering device",
  "uniqueid": "..."
}

{
  "config": {
    "groups": [
      "0",
      "31"
    ]
  },
  "etag": "...",
  "hascolor": false,
  "lastannounced": null,
  "lastseen": "2023-07-19T06:41Z",
  "manufacturername": "IKEA of Sweden",
  "modelid": "FYRTUR block-out roller blind",
  "name": "Rollo DG",
  "state": {
    "lift": 100,
    "open": false,
    "reachable": true
  },
  "swversion": "2.2.009",
  "type": "Window covering device",
  "uniqueid": "..."
}

Bei dem Ubisys J1 sind noch beide Werte enthalten. "lift"/"open" würde hier also auch schon funktionieren:

{
  "config": {
    "groups": []
  },
  "etag": "...",
  "hascolor": false,
  "lastannounced": null,
  "lastseen": "2023-07-19T06:43Z",
  "manufacturername": "ubisys",
  "modelid": "J1 (5502)",
  "name": "Rollo Wohnzimmer",
  "state": {
    "bri": 0,
    "lift": 0,
    "on": false,
    "open": true,
    "reachable": true,
    "tilt": 0
  },
  "swversion": "1.9.1",
  "type": "Window covering device",
  "uniqueid": "..."
}

Weisswurstverkäufer

Ich habe mal bei Dresden Elektronik nachgefragt ob die Entfernung von "bri" Absicht war oder ein Bug. Es ist so beabsichtigt. Wenn FHEM die Geräte weiterhin unterstützen soll müsste man das also hinzufügen. Wird wohl nach und nach auch für die anderen Geräte kommen.

tk-ham

Moin aus Hamburg,

ich kann nur zustimmen. Mein FYRTUR lässt sich nach dem update von deconz (2.23.1) nicht mehr steuern, da die FHEM Kommandos nicht mehr verstanden werden:

curl -X PUT http://fhem.fritz.box:8090/api/XXXXXX/lights/2/state -d '{"bri": 20}'
[{"error":{"address":"/lights/2/state","description":"parameter, bri, not available","type":6}}]t

curl -X PUT http://fhem.fritz.box:8090/api/XXXXXX/lights/2/state -d '{"on": true}'
[{"error":{"address":"/lights/2/state","description":"parameter, on, not available","type":6}}]

bri, bri_inc, on und sat sind deprecated: https://dresden-elektronik.github.io/deconz-rest-doc/endpoints/lights/#parameters_2

Wäre jemand so nett das anzupassen?

Danke!

Hugo Becker

Bei mir natürlich dasselbe Verhalten. Die letzte funktionierende Version ist V2.21.2.
Auch ich wäre sehr dankbar für eine Korrektur.   ;D
Ist "justme1968" noch Maintainer des Moduls ?

tk-ham

Danke für das Herausfinden der funktionierenden Version - hast Du ein downgrade probiert?

Weisswurstverkäufer

Ein Downgrade muss man eigentlich nicht machen. Es reicht schon das DDF auszutauschen. Das habe ich schon grob skizziert: https://forum.fhem.de/index.php?topic=134139.msg1286790#msg1286790

Hugo Becker

Bei der zu tauschenden DDF-Datei handelt es sich also in unserem Fall um die "fyrtur_block-out_roller_blind.json", richtig ?
Ich kann also einfach die Datei mit der aus Deinem Link https://github.com/dresden-elektronik/deconz-rest-plugin/commit/4cdd240e744094b1eb765eebc9ec50c35260ee6e ersetzen ?
Die hinzugefügten Zeilen (+) und die weggefallenen (-) sind ja markiert. Muß ich da noch etwas anpassen ?

Sorry wenn ich blöde Fragen stelle. Ich bin da nicht so fit.

Hugo Becker

Zitat von: tk-ham am 26 September 2023, 16:32:37Danke für das Herausfinden der funktionierenden Version - hast Du ein downgrade probiert?
Ja, funktioniert. Ich hatte die "neue" V2.23.01 probiert, aber wg. bri/lift keine Steuerung des Rollos möglich. Danach wieder zurück zur "alten" V2.21.2 und zack, funktioniert.

Weisswurstverkäufer

Wenn Du einen Raspberry Pi hast:

Das originale DDF-File liegt in
/usr/share/deCONZ/devices/ - also
/usr/share/deCONZ/devices/ikea/fyrtur_block-out_roller_blind.json.

Um DDF Dateien zu Überladen legt man sie in
/home/pi/.local/share/dresden-elektronik/deCONZ/devices/ (in meinem Fall auf dem Raspberry Pi jedenfalls - Abhängig vom konkreten Setup).

Ich habe mir also
/usr/share/deCONZ/devices/ikea/fyrtur_block-out_roller_blind.json nach
/home/pi/.local/share/dresden-elektronik/deCONZ/devices/ikea/fyrtur_block-out_roller_blind.json kopiert um meine Änderungen vorzunehmen. Ich habe allerdings nur state/battery weil sich das auf der aktuellen Firmware anders verhält.

Ich würde sagen du musst dann

Zitat{
                    "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"
                },

und

                {
                    "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"
                },

wieder in das JSON reinnehmen. Ich vermute alternativ dürfte es auch funktionieren die alte Version des DDF 1:1 zu übernehmen. Die findest Du hier: https://raw.githubusercontent.com/dresden-elektronik/deconz-rest-plugin/30841081fa9cd025418a00ef307b5361e21da2f0/devices/ikea/fyrtur_block-out_roller_blind.json

Hugo Becker

Vielen Dank für Deine wirklich aushührliche Anleitung !!!
Ich werde es testen (allerdings erst am WE) und berichten.

Nochmals DANKE dafür !!!

Gruß
Hugo

Jamo

Ja, danke, das hat funktioniert. Vor dem update von V2.21.2. auf V2.23.1 folgendes machen:
cp /usr/share/deCONZ/devices/ikea/kadrilj_blind.json                 ~/.local/share/dresden-elektronik/deCONZ/devices/ikea
cp /usr/share/deCONZ/devices/ikea/fyrtur_block-out_roller_blind.json ~/.local/share/dresden-elektronik/deCONZ/devices/ikea

Dann das update von V2.21.2. auf V2.23.1 machen. Und schon gehts!
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

Mit

diff /usr/share/deCONZ/devices/ikea/fyrtur_block-out_roller_blind.json ~/.local/share/dresden-elektronik/deCONZ/devices/ikea/fyrtur_block-out_roller_blind.json
könntest Du jetzt noch nachgucken welche weiteren Änderungen es im DDF seit der Version 2.21.2 gab. Vermutlich nichts relevantes, aber vielleicht würde es sich ja lohnen eine "FHEM Version" des DDF zu pflegen solange das Modul nicht aktualisiert wird.

Jamo

Gute Idee: Hier ist der diff:diff /usr/share/deCONZ/devices/ikea/fyrtur_block-out_roller_blind.json ~/.local/share/dresden-elektronik/deCONZ/devices/ikea/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 = (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": {
>             "at": "0x0008",
>             "cl": "0x0102",
>             "ep": 1,
>             "eval": "if (Attr.val == 100) { Item.val = false; } else { Item.val = true; }",
>             "fn": "zcl"
>           },
>           "read": {
>             "fn": "none"
>           }
>         },
>         {
>           "name": "state/reachable"
140,141c92,144
<     ],
<     "bindings": [
---
>       ]
>     },
>     {
>       "type": "$TYPE_BATTERY_SENSOR",
>       "restapi": "/sensors",
>       "uuid": [
>         "$address.ext",
>         "0x01",
>         "0x0001"
>       ],
>       "fingerprint": {
>         "profile": "0x0104",
>         "device": "0x0202",
>         "endpoint": "0x01",
>         "in": [
>           "0x0000",
>           "0x0001"
>         ]
>       },
>       "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,144c146,152
<             "bind": "unicast",
<             "src.ep": 1,
---
>           "name": "config/reachable"
>         },
>         {
>           "name": "state/battery",
>           "refresh.interval": 3700,
>           "parse": {
>             "at": "0x0021",
146,154c154,157
<             "report": [
<                 {
<                     "at": "0x0021",
<                     "dt": "0x20",
<                     "min": 1,
<                     "max": 3600,
<                     "change": "0x00000001"
<                 }
<             ]
---
>             "ep": 0,
>             "eval": "Item.val = Attr.val",
>             "fn": "zcl"
>           }
157,168c160,192
<             "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,
>       "dst.ep": 1,
>       "cl": "0x0001",
>       "report": [
>         {
>           "at": "0x0021",
>           "dt": "0x20",
>           "min": 1,
>           "max": 3600,
>           "change": "0x00000001"
>         }
>       ]
>     },
>     {
>       "bind": "unicast",
>       "src.ep": 1,
>       "dst.ep": 1,
>       "cl": "0x0102",
>       "report": [
>         {
>           "at": "0x0008",
>           "dt": "0x20",
>           "min": 1,
>           "max": 300,
>           "change": "0x00000001"
170,171c194,197
<     ]
< }
---
>       ]
>     }
>   ]
> }
\ No newline at end of file
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

Oh, das sind ja doch einige Änderungen drin. Ich habe jetzt mal die aktuelle Version genommen und um state/bri und state/on erweitert. Selbst testen kann ich es gerade aber nicht. Wenn Du willst kannst Du es ja mal ausprobieren (am besten vorher ein Backup der funktionierenden Version machen).

Jamo

#14
Danke, deine um state/bri und state/on geänderte Version funktioniert.  Vor dem Test ein "sudo systemctl restart deconz"durchgeführt.
Backup der funktionierenden Version ist "fyrtur_block-out_roller_blind.json.V2.21.2". Deine um state/bri und state/on geänderte Version ist die "fyrtur_block-out_roller_blind.json".

jamo@inuc:~/.local/share/dresden-elektronik/deCONZ/devices/ikea$ diff fyrtur_block-out_roller_blind.json fyrtur_block-out_roller_blind.json.V2.21.2
51c51
<            "eval": "Item.val = Math.round((254 * Attr.val) / 100)",
---
>            "eval": "Item.val = (254 * Attr.val) / 100;",
53,57c53,57
<            },
<            "read": {
<              "fn": "none"
<            },
<            "deprecated": "2020-04-08"
---
>          },
>          "read": {
>            "fn": "none"
>          },
>          "deprecated": "2020-04-08"
73c73
<            },
---
>          },
79,81d78
<            "fn": "zcl",
<            "ep": 1,
<            "cl": "0x0102",
83c80,83
<            "eval": "Item.val = Attr.val === 0"
---
>            "cl": "0x0102",
>            "ep": 1,
>            "eval": "if (Attr.val == 100) { Item.val = false; } else { Item.val = true; }",
>            "fn": "zcl"
108,112c108
<          "0x0001",
<          "0x0102"
<        ],
<        "out": [
<          "0x0019"
---
>          "0x0001"
156,158d151
<            "fn": "zcl",
<            "ep": 1,
<            "cl": "0x0001",
160c153,156
<            "eval": "Item.val = Attr.val"
---
>            "cl": "0x0001",
>            "ep": 0,
>            "eval": "Item.val = Attr.val",
>            "fn": "zcl"
172a169
>      "dst.ep": 1,
186a184
>      "dst.ep": 1,
199c197
< }
---
> }
\ No newline at end of file
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/Conbee III, FB7690, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack, Sonos, ESPresence

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

StephanFHEM

Dann hatte ich noch eine etwas ältere Version. Bei mir war es noch die fyrtur_block-out_roller_blind.json

Jamo

Hi, die aktuelle GW Version ist 2.27.6, mit der fw Version 0x26530900 (Conbee III)
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/Conbee III, FB7690, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack, Sonos, ESPresence

Strictor

Hallo zusammen,

ich habe eine frische deconz VM aufgesetzt mit der neusten Gateway Version 2.27.6, mein Fyrtur Rollo wird auch erkannt und kann über die Phoscon App gesteurt werden, aber über FHEM nicht.
Was muss nun, wenn man keine alte blind.json als Sicherung hat, in eine neue geschrieben werden um das Rollo wieder per FHEM ansteuern zu können?

Jamo

Hallo Strictor,
Was muss nun, wenn man keine alte blind.json als Sicherung hat, in eine neue geschrieben werden um das Rollo wieder per FHEM ansteuern zu können?das ist hier im Thread ab #6 beschrieben.
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/Conbee III, FB7690, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack, Sonos, ESPresence

JF Mennedy

Moin zusammen,

in meiner letzten 31_HUEDevice.pm war noch ein Fehler, weshalb der Befehl "pct" nicht mehr funktionierte.

Das ist in dieser Version korrigiert. Die Version basiert auf die letzte veröffentlichte 31_HUEDevice.pm

An wen muss man sich wenden, wenn das in die offizielle Version übernommen werden soll..??

Gruss Jan

justme1968

vielen dank für den vorschlag wie lift ins modul übernommen werden kann.

ich würde das aber lieber ein wenig anders umsetzen:
- ohne eigenen subtype -> subtype soll nur zwischen generellen geräte arten unterscheiden.
  nicht zwischen gleichen geräten (hier rollläden) unterscheiden die sich nur in details
  unterscheiden.
- denn abhängig vom subtype eigene readings und kommandos umzusetzen bedeutet das sich
  unterschiedliche angebundene blinds nicht mehr gemeinsam über fhem regex steuern lassen
- es muss an vielen stellen auf diesen unterschied eingegangen werden. z.b. ist der code für
  icons nicht mehr für alle geräte gleich.
- die sprachsteuerung wird aus den gleichen gründen ebenfalls sehr problematisch

mein vorschlag wäre:
- lift als reading bereitzustellen wenn es vom api kommt
- pct automatisch aus lift oder bri abzuleiten
  nur an einer stelle an der die werte rein kommen
- pct = 0 bedeutet zu, pct = 100 bedeutet offen.
  wie bisher und wie bei allen anderen devices auch
- wenn es ein reading lift gibt wird es auch als kommando bereitgestelt
- die bisherigen kommandos bleiben aber auch dann bestehen und verhalten sich wie bisher
- icon erzeugung bleibt gleich

gibt es einwände?


ps: ganz unabhängig davon finde ich die phoscon änderungen etwas unglücklich. neben der immer größeren abweichung vom hue api ist die benennung 'lift' mit der bedeutung 0 = offen und 100 = zu nicht gerade intuitiv. lift bedeutet für mich in der übersetzung etwa anheben. anheben 0
  ist aber nicht ganz oben sondern ganz unten.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

JF Mennedy

Hallo,

danke für die Rückmeldung..

Dein Vorschlag ist wahrscheinlich die bessere Variante.. Ich hatte mir halt damit beholfen, ein SubDevice anzulegen, um die anderen Geräte bzw. den Code nicht zu verwursteln...

Da lift in phoscon jedoch mit 0 = auf und 100 = zu beschrieben wird und auch so im ASC-Modul verarbeitet wird, ausser man setzt es auf attr ASC 2, was auch in der Doku als Homematic Style betitelt wird, würde ich eher sagen pct 0 = auf und pct 100 = zu.

Meine Rolläden, die über Encocean eingebunden sind, arbeiten auch so...

Gruss Jan

justme1968

enocean ist glaube ich das einzige andere system das 0=auf/hell und 100=unten/dunkel verwendet.

homematik, zigbee, alle möglichen lampen und auch siri und alexa verwenden 0=dunkel und 100=hell. auch die gruppenberechnung für pct/helligkeit funktioniert nur wenn alle beteiligten geräte das gleiche schema verwenden.

deshalb der vorschlag lift belassen wie es ist (0=hell) und pct sie zu handhaben wie bisher und (fast) überall sonst (100=hell)

ich stelle die version zum testen dann hier ein.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

JF Mennedy

OK... Ich verwende sowieso nur lift für die Steuerung der Rollos...

Danke und Gruss Jan