Notify mit Reading als set-Parameter

Begonnen von petjek, 21 August 2019, 13:30:46

Vorheriges Thema - Nächstes Thema

petjek

Hallo zusammen,
wahrscheinlich stehe ich hier vor einem sehr leicht zu lösendem Problem. Ich kriege aber gerade keinen Anpack daran.
Ich habe einen IKEA-Dimmer und eine IKEA-GU10 an meinem Zigbee-Stick angelernt. Die beiden Geräte sind aber nicht untereinander gekoppelt.
Nun möchte ich das Reading brightness vom Dimmer direkt an die GU10 weiterreichen, also quasi indirekt steuern.
Dazu habe ich mir diesen simplen Notify gebaut

defmod NF_Ikea_Dimmer_GU10 notify 0x000b57fffe11edc7 set 0x000b57fffeb846c5 $EVENT
attr NF_Ikea_Dimmer_GU10 alias Ikea Dimmer steuert Stehlampe Wohnzimmer
attr NF_Ikea_Dimmer_GU10 group Logik
attr NF_Ikea_Dimmer_GU10 room Funktionen


Das klappt auch soweit als dass die brigthness der GU10 dadurch der des Dimmers entspricht. Nur bleibt dabei der State der GU10 auf OFF. Irgendwie müsste ich also noch mitteilen, dass der State der GU10 auf ON gesetzt wird, wenn sich der Wert des Dimmers ändert und größer als 0 ist, oder?
Nur wie?

LG
Die Möglichkeiten der deutschen Grammatik können einen, wenn man sich darauf, was man ruhig, wenn man möchte, sollte, einlässt, überraschen.

rudolfkoenig

Meiner Ansicht nach ist das eine Aufgabe des fuer 0x000b57fffeb846c5 zustaendigen Moduls (keine Ahnung, was das ist), eventuell muss es konfiguriert werden.

Sonst:
- wenn dieses Modul ein Reading setzt, dann kann man mit "attr 0x... stateFormat readingName" dieses Reading ins Status uebernehmen
- alternativ kann man nach set zusaetzlich setstate ausfuehren. Das kann man entweder mit einem weiteren notify oder mit "define mc cmdAlias set 0x... AS ..." auch so verpacken, dass es von mehreren Stellen genutzt werden kann.

Das ist alles sehr allgemein, weil Infos (Modulname, Events, list-Output des betroffenen Geraetes, etc) fehlen.
Bitte nicht davon ausgehen, dass jeder alle der 500+ FHEM Module auswendig kennt.

Beta-User

Würde mal auf zwei MQTT2_DEVICE-Geräte aus zigbee2mqtt tippen...

Der "wunde Punkt" dürfte sein, dass  die Fernbedienung nicht zuerst ein "on" liefert und daher das Zieldevice schlicht "in der physischen Realität" aus bleibt und sich "nur" das Brightness-Reading entsprechend ändert? (Stand das in der Problembeschreibung?!?)

Abhilfen: in das Brightness-Reading des Zieldevices ggf. das "on" explizit mit in den JSON reinnehmen, oder vorher im notify mit Perl prüfen, ob es schon an ist, und dann erforderlichenfalls vorher anschalten (dazu gibt es z.B. im Wiki bei notify mWn. ein paar kleine "if"-Beispiele).

Aber wie Rudi schon schreibt: Ohne "mehr Info" ist das ziemlich graue Theorie...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

petjek

Hallo zusammen,

sorry für die späte Reaktion, war einige Zeit unterwegs.
Ja dabei handelt es sich um ein automatisch angelegtes XiaomiMQTT Device.
Zitat
Abhilfen: in das Brightness-Reading des Zieldevices ggf. das "on" explizit mit in den JSON reinnehmen, oder vorher im notify mit Perl prüfen, ob es schon an ist, und dann erforderlichenfalls vorher anschalten (dazu gibt es z.B. im Wiki bei notify mWn. ein paar kleine "if"-Beispiele)
Dann müsste sich, wenn die Lampe bereits an ist, die Helligkeit ändern, wenn ich den Dimmer drehe. Das tut sie aber nicht, obwohl sich das reading sogar ändert. Und das wundert mich schon sehr. Schiebe ich den Slider der GU10 von Hand funktioniert es.
Ich werde beide Geräte noch mal aus zigbee2mqtt entfernen und dann erst Lampe und Dimmer pairen. Anschließend den Dimmer wieder anlehnen. Dann kennt FHEM zwar nur den Dimmer aber genau so hat es bei meinem kurzen Ausflug zu iobroker neulich auch funktioniert. Damit sollte ich mir den notify auch ganz sparen können.

LG p
Die Möglichkeiten der deutschen Grammatik können einen, wenn man sich darauf, was man ruhig, wenn man möchte, sollte, einlässt, überraschen.