Aqara Opple - Schalterprogrammintegration, Abmessungen und anderes...

Begonnen von Beta-User, 18 Februar 2020, 13:54:26

Vorheriges Thema - Nächstes Thema

Marekh

Danke, ich denke das wird das Problem sein.
Aber was mache ich jetzt damit?

Danke
Marek

Beta-User

...rausfinden, wie man das umstellen kann...?
Es gibt bestimmt irgendeinen Konfigurationsbefehl, den man irgendwie direkt oder indirekt über die HUEBridge raushauen kann, aber ich kann dir leider nicht sagen, wie der genau aussehen muss. Evtl. wäre es über die deCONZ-GUI (nach einem update) einfacher...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Marekh

Es gibt die Version v2.7.0, dort ist das Problem gefixt.

https://phoscon.de/de/changelog/

Man muss die Beta installieren.
Nachdem der Taster angelernt ist, nochmal hinten die C-Taste drücken.

Marek

Puccini

Hi.
Frage:
Hab jetzt auch den 6 Fach schalter (WXCJKG13LM).
Nach langem Druck auf reset war auch ein pairing möglich.

Aber welches templat muss ich auf den anwenden von meinem mqtt2 zigbee?
Wenn ich wirless Button auswähle steht das da:
Wireless button via zigbee2mqtt
Tested with: Xiaomi Aqara WXKG12LM wireless switch with gyroscope


Ist das korrekt?

Listing:
defmod MQTT2_zigbee_0x04cf8cdf3c793ee5 MQTT2_DEVICE zigbee_0x04cf8cdf3c793ee5
attr MQTT2_zigbee_0x04cf8cdf3c793ee5 IODev ZigBeeServer
attr MQTT2_zigbee_0x04cf8cdf3c793ee5 readingList zigbee2mqtt/0x04cf8cdf3c793ee5:.* { json2nameValue($EVENT) }
attr MQTT2_zigbee_0x04cf8cdf3c793ee5 room MQTT2_DEVICE

setstate MQTT2_zigbee_0x04cf8cdf3c793ee5 2020-12-02 19:27:25 action button_1_single
setstate MQTT2_zigbee_0x04cf8cdf3c793ee5 2020-12-02 19:25:45 associatedWith MQTT2_zigbee_pi
setstate MQTT2_zigbee_0x04cf8cdf3c793ee5 2020-12-02 19:28:21 battery 100
setstate MQTT2_zigbee_0x04cf8cdf3c793ee5 2020-12-02 19:28:21 linkquality 65
setstate MQTT2_zigbee_0x04cf8cdf3c793ee5 2020-12-02 19:28:21 voltage 3000



:)
Es gibt kein templat sonst was passen könnte...

Danke euch

Beta-User

#49
Na ja, bisher hat niemand was anderes oder besseres vorgeschlagen...

Würde ggf. wegen des fehlenden "gyroscope" ein weiteres machen, aber da dann nur das stateFormat gegenüber diesem "modernisierten" ändern:

name:zigbee2mqtt_Wireless_Button
desc: Wireless button via zigbee2mqtt <br>Tested with: Xiaomi Aqara WXKG12LM wireless switch with gyroscope
filter:TYPE=MQTT2_DEVICE:FILTER=CID~zigbee.*
order:L_12
par:BASE_TOPIC;base topic set in configuration.yaml of the zigbee2mqtt bridge;{ AttrVal("DEVICE","readingList","") =~ m,[\b]?([^/:]+)[/].*:, ? $1 : undef }
par:BASE_TOPIC;base topic set in configuration.yaml of the zigbee2mqtt bridge;{ AttrVal("DEVICE","devicetopic",AttrVal("DEVICE","readingList","")) =~ m,[\b]?([^/:]+)[/].+, ? $1 : undef }
par:DEV_ID;name of the device in the zigbee2mqtt bridge;{ AttrVal("DEVICE","devicetopic",AttrVal("DEVICE","readingList","")) =~ m,[^/]+[/]([^/:]+).*, ? $1 : undef }
par:ICON;ICON as set, defaults to control_home;{ AttrVal("DEVICE","icon","control_home") }
attr DEVICE icon ICON
attr DEVICE stateFormat Click: click Action: action
attr DEVICE devicetopic BASE_TOPIC/DEV_ID
attr DEVICE readingList $\DEVICETOPIC:.* { json2nameValue($EVENT,'',$JSONMAP) }
attr DEVICE jsonMap battery:batteryPercent voltage:batterymV
attr DEVICE userReadings userReadings batteryVoltage:batterymV.* {ReadingsNum($name,'batterymV',0)/1000}
deletereading -q DEVICE (?!associatedWith).*
attr DEVICE model zigbee2mqtt_Wireless_Button
setreading DEVICE attrTemplateVersion 20201203


stateFormat für die "normale" Variante wäre dann schlicht:
attr DEVICE stateFormat action

Wäre nett, wenn du das testen könntest (erst das modifizierte oben, wg. der voltage-Geschichte usw.). Eine Anleitung, wie das in etwa geht, wäre hier zu finden: https://forum.fhem.de/index.php/topic,94495.msg872201.html#msg872201
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Puccini

Danke.
Hab mal ein template gebaut:

name:zigbee2mqtt_Wireless_Button_NoGyro
desc: Wireless button via zigbee2mqtt <br>Tested with: Xiaomi Aqara WXCJKG13LM wireless switch
filter:TYPE=MQTT2_DEVICE:FILTER=CID~zigbee.*
order:L_12a1
par:BASE_TOPIC;base topic set in configuration.yaml of the zigbee2mqtt bridge;{ AttrVal("DEVICE","readingList","") =~ m,[\b]?([^/:]+)[/].*:, ? $1 : undef }
par:BASE_TOPIC;base topic set in configuration.yaml of the zigbee2mqtt bridge;{ AttrVal("DEVICE","devicetopic",AttrVal("DEVICE","readingList","")) =~ m,[\b]?([^/:]+)[/].+, ? $1 : undef }
par:DEV_ID;name of the device in the zigbee2mqtt bridge;{ AttrVal("DEVICE","devicetopic",AttrVal("DEVICE","readingList","")) =~ m,[^/]+[/]([^/:]+).*, ? $1 : undef }
par:ICON;ICON as set, defaults to control_home;{ AttrVal("DEVICE","icon","control_home") }
attr DEVICE icon ICON
attr DEVICE stateFormat Action: action Batterie: battery %
attr DEVICE devicetopic BASE_TOPIC/DEV_ID
attr DEVICE readingList $\DEVICETOPIC:.* { json2nameValue($EVENT) }
deletereading -q DEVICE (?!associatedWith).*
attr DEVICE model zigbee2mqtt_Wireless_Button_NoGyro
setreading DEVICE attrTemplateVersion 20200904


Das Device sieht dann so aus:
defmod Lichtschalter6Btn MQTT2_DEVICE zigbee_0x04cf8cdf3c793ee5
attr Lichtschalter6Btn IODev ZigBeeServer
attr Lichtschalter6Btn devicetopic zigbee2mqtt/0x04cf8cdf3c793ee5
attr Lichtschalter6Btn icon control_home
attr Lichtschalter6Btn model zigbee2mqtt_Wireless_Button_NoGyro
attr Lichtschalter6Btn readingList $DEVICETOPIC:.* { json2nameValue($EVENT) }
attr Lichtschalter6Btn room Theresa ,ZigBee
attr Lichtschalter6Btn stateFormat Action: action Batterie: battery %

setstate Lichtschalter6Btn Action: button_4_single Batterie: 100 %
setstate Lichtschalter6Btn 2020-12-03 12:19:56 action button_4_single
setstate Lichtschalter6Btn 2020-12-02 19:25:45 associatedWith MQTT2_zigbee_pi
setstate Lichtschalter6Btn 2020-12-03 12:18:31 attrTemplateVersion 20200904
setstate Lichtschalter6Btn 2020-12-03 12:19:56 battery 100
setstate Lichtschalter6Btn 2020-12-03 12:19:56 linkquality 47
setstate Lichtschalter6Btn 2020-12-03 12:19:56 voltage 3119


:)
Danke für den Tipp!
Jetzt muss ich mir nur noch ein paar Notify baue um für jede Aktion die richtige Lampe / Aktion zu steuern ;)

Puccini

Bei deinem vorgeschlagenen Template kommt bei mir folgende Fehlermeldung:
Specify the unknown parameters for zigbee2mqtt_Wireless_Button:

base topic set in configuration.yaml of the zigbee2mqtt bridge


Siehe Screenshot.
ich habe einfach den Code über den alten Button WirelessButton drüber kopiert :) (hoffe das war korrekt).


Beta-User

Ja, das war korrekt. Wenn so eine Rückfrage vom attrTemplate kommt, ist in der Regel eine Info nicht vorhanden, die normalerweise da ist, hier entweder aus dem Attribut "devicetopic" oder aus der readingList. Vermutlich war das Device voher leer?
(sonst muss ich nochmal nachsehen, da leutet dunkel mal was...).

Vermutlich ist "NoGyro" für später nicht die optimale Nutzerführung. Da das vermutlich für alle möglichen Fernbedienungen usw. passt, würde ich allg. zu "scene controller" neigen?

Dann mal viel Spaß beim notify-bauen ;) .
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

nicegu0815

#53
Hi,
so ich habe jetzt meinen neuen 6 fach Schalter dank dies Seite in mein FHEM bekomme.
Dafür schon mal besten Dank ;)

define WZ.KUE.Sensor.Switch HUEDevice sensor 13 1 IODev=deCONZ
attr WZ.KUE.Sensor.Switch IODev deCONZ
attr WZ.KUE.Sensor.Switch alias 6 Fach Schalter
attr WZ.KUE.Sensor.Switch eventMap 1002:ThirdRightShortPress\
3002:SecondRightShortPress\
5002:FirstRightShortPress\
2002:ThirdLeftShortPress\
4002:SecondLeftShortPress\
6002:FirstLeftShortPress\
1004:ThirdRightDoublePress\
3004:SecondRightDoublePress\
5004:FirstRightDoublePress\
2004:ThirdLeftDoublePress\
4004:SecondLeftDoublePress\
6004:FirstLeftDoublePress\
1003:ThirdRightLongPress\
3003:SecondRightLongPress\
5003:FirstRightLongPress\
2003:ThirdRightLongPress\
4003:SecondRightLongPress\
6003:FirstRightLongPress\
1005:ThirdRightTriplePress\
3005:SecondRightTriplePress\
5005:FirstRightTriplePress\
2005:ThirdLeftTriplePress\
4005:SecondLeftTriplePress\
6005:FirstLeftTriplePress\
1001:ThirdRightHold\
3001:SecondRightHold\
5001:FirstRightHold\
2001:ThirdLeftHold\
4001:SecondLeftHold\
6001:FirstLeftHold
attr WZ.KUE.Sensor.Switch group WLAN Schalter
attr WZ.KUE.Sensor.Switch icon taster
attr WZ.KUE.Sensor.Switch model lumi.remote.b686opcn01
attr WZ.KUE.Sensor.Switch room Kitchen,Wohnzimmer

setstate WZ.KUE.Sensor.Switch FirstRightShortPress
setstate WZ.KUE.Sensor.Switch 2020-12-16 10:27:09 .lastupdated 2020-12-16 09:27:09
setstate WZ.KUE.Sensor.Switch 2020-12-16 10:27:09 .lastupdated_local 2020-12-16 10:27:09
setstate WZ.KUE.Sensor.Switch 2020-12-16 12:07:18 battery 100
setstate WZ.KUE.Sensor.Switch 2020-12-16 12:07:18 batteryPercent 100
setstate WZ.KUE.Sensor.Switch 2020-12-16 12:07:18 reachable 1
setstate WZ.KUE.Sensor.Switch 2020-12-16 10:27:09 state 5002


Das Einzige was mir jetzt aufgefallen ist, als ich das Teil mit Funktionen versehen wollte.

Das ein Toggle Switch pro Taste nicht möglich ist. (Also EIN /AUS auf selber Taste)

Sagen wir ich möchte beim drücken der Taste "FirstLeftShortPress"  den toggle Butten eines anderen mqtt fhem Geräts auslösen.
Dann geht das leider nur einmal, da sich der State 6002 vom Schalter im FHEM wohl nicht updatet wenn er vorher schon 6002 war und er wird nicht nochmal mit einem neuen Zeit Stempel geschrieben.

Ich synce mein FHEM zu IOBroker und wolle da dann mittels Blocky auf die einzelnen Butten "States", vom 6fach Schalter reagieren.
Klappt auch soweit gut, außer das halt der 6 Fach Schalter kein Update zum FHEM "State" sendend wenn die selbe Taste zweimal hintereinander kommt.

Hast das auch schon jemand festgestellt?
Es weiß nicht zufällig jemand ob man das in deconz beim Schalter irgendwie ändern kann?
Oder in FHEM?
Oder bekomme ich die einzelnen Schalter auch irgendwie als "Readings" rein / haben sie da ein anderes Verhalten?

Ansonsten muss ich den 6 Fach Schalter zu einem 3 Fach Schalter kastrieren mit einer Taste für ein und einer für aus.
Dann hab ich aber noch das selbe Problem wenn ich "dimmUp /dimmDown" jeweils auf einer Taste haben möchte.
Dann könnte ich nur einmal z.B. "DimmUp" drücken und müsste erst eine Andere Taste auf dem Schalter drücken bevor ich nochmal die zugeordnete "DimmUp" Taste drücken kann.

EDIT 20.12.20:
Es Lag am FHEM Adapter von IOBROKER der Zeit einem update wohl nicht mehr alle Reading Updates Synchronisiert.
Das wurde wohl zur Verbesserung der Performance mal eingebaut.

Dafür gient es aber eine Einstellung: 
Das Objekt fhem.0.info.Configurations.syncUpdate
Auf "true" setzen und jedes Update eines Readings wird wieder synchronisiert.

Trotzdem nochmal Danke für eure Hilfe :)

Puccini

Das versteh ich nicht ganz.
Ich hab bei mir z. B. Firstbuttondouble zum dimmup drin. Wenn ich denn doppelt klicke, wirds heller. Mach ich das nochmal wirds weiter heller (immer in 33% Schritten)
Also erkennt er bei mir auch das auslösen des Buttons wenn er vorher schon ausgelöst wurde.
Ich mach dies über nötig um dann eine Lampe zu schalten/dimmen.

Was genau meinst du?



Beta-User

Vermute: Er leitet via MQTT_GENERIC_BRIDGE den STATE weiter, (sonst wirkt sich das eventMap nicht aus) und da passiert halt nichts?

Grundsätzlich neige ich dazu, das Weiterleiten der "harten Fakten" zu empfehlen, und dazu gehört STATE (oder Value()) eben nicht. Man könnte ein userReading "stateText" bauen, das man dann weiterleitet, wenn es unbedingt von FHEM her diese Texte sein sollen?

Das hat aber eigentlich nichts mehr mit den "harten Fakten" zum opple zu tun, das ist eher unter mehrerlei Gesichtspunkten ein gesondertes Thema.
@nicegu0815: Du kannst gerne von hier aus auf den neuen Thread verlinken, aber bitte dort auch zeigen, wie du das nach MQTT umpackst.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

nicegu0815

Hi,
und danke für die Antwort.
Ich verstehe leider nicht was du mit "zu mqtt umpacken" meinst?
Der Schalter ist ja kein mqtt Device in FHEM sondern angelegt über "HUEBridge /Deconz".
Die Schalter, die ich schalten möchte sind Teils zigbee (also Deconz) und viele aber auch Shellys die mit "mqtt_Server" an FHEM hängen.
Und es ist egal ob ich ein mqtt oder zigbee device schalten will.

Also soll  ich das jetzt nochmal in einen eigenen Thread kopieren bin da immer vorsichtig?

Beta-User

Sorry, hatte das hier als "ich mache das mit MQTT" übersetzt:
Zitat von: nicegu0815 am 16 Dezember 2020, 12:49:34
Ich synce mein FHEM zu IOBroker und wolle da dann mittels Blocky auf die einzelnen Butten "States", vom 6fach Schalter reagieren.
Klappt auch soweit gut, außer das halt der 6 Fach Schalter kein Update zum FHEM "State" sendend wenn die selbe Taste zweimal hintereinander kommt.
Vielleicht noch eine Anmerkung: "State" kennt FHEM nicht, es kennt "state" (das Reading) und "STATE" (das Internal). Ich habe keine Ahnung, was IOBroker wann wie warum als Info bekommt, aber es scheint eben STATE zu sein, und das ist mAn. aus vielerlei Gründen nicht optimal.

Aber ein spezielles Problem von IOBroker bzw. dessen Anbindung. Daher solltest du dann eben im neuen Thread erläutern, wie du das anbindest...
(da scheinbar nicht MQTT bin ich raus.)
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

topher

Mal eine ganz andere Frage: Bei den Opple gibt es Vorbohrungen in den Rahmen für zwei Schrauben zur Wandmontage. Kann jemand von Euch mir sagen, wie groß der Lochabstand ist?

regenbieger

Wenn man von oben drauf sieht sind es aussen/aussen 6,8 cm.
Die Ausbrüche sind ca. 4 mm breit, mitte/mitte sind es 6 cm Abstand

:)

FHEM und WEEWX auf Raspberry