Seite 1 von 2

Bekomme hue dimmer event nicht mit

Verfasst: 22. Aug 2021 11:34
von geos
Hallo!

Nachdem vor einigen Wochen das openHAB-Update auf meinem alten Raspi 2 schief gegangen ist und dieser nicht mehr starten wollte habe ich mal die Gelegenheit genutzt und habe openHAB auf einem Raspi 4 erneut aufgesetzt. (Vorher und nachher: openHAB 3.1.0 Release Build)
Backup war natürlich nicht ganz aktuell aber mit ein wenig Nacharbeit läuft jetzt auch fast alles wieder.

Als vermeintlich letzter Punkt bleibt jetzt noch das Problem, dass ich keine Events von meinen Hue-Dimmertastern in meinen Rules mitbekomme.
Wenn ich auf die jetzt zusätzlichen Item prüfe, bekomme ich die Wertänderungen mit, das Event aber weiter nicht.

Diese Prüfung funktioniert nicht:

Code: Alles auswählen

rule "Hue FB Heiz 1002"
when
   Channel "hue:0820:0017887ab334:4:dimmer_switch_event" triggered 1002.0
then
   kg_waesche.sendCommand(ON)
end

rule "Hue FB Heiz 4002" 
when
   Channel "hue:0820:0017887ab334:4:dimmer_switch_event" triggered 4002.0
then
   kg_waesche.sendCommand(OFF)
end
Diese schon:

Code: Alles auswählen

rule "Test Hue ON"
when
    Item HueTasterHeizungsraum_DimmerSchalter changed to 1002.0
then
    kg_waesche.sendCommand(ON)
end

rule "Test Hue OFF"
when
    Item HueTasterHeizungsraum_DimmerSchalter changed to 4002.0
then
    kg_waesche.sendCommand(OFF)
end
Habe schon mal den openHAB-Cache gelöscht, die Hue-Basis neu gestartet, die Channel-ID mehrfach geprüft und auch über die Kopier-Funktion der GUI in die Rule übernommen um eine Tippfehler auszuschließen.

Hier noch die Konfiguration des Tasters:

Code: Alles auswählen

UID: hue:0820:0017887ab334:4
label: Hue Taster Heizungsraum
thingTypeUID: hue:0820
configuration:
  sensorId: "4"
  on: true
bridgeUID: hue:bridge:0017887ab334
Hoffe ihr habt eine Idee...

Danke und Grüße
Tobias

Re: Bekomme hue dimmer event nicht mit

Verfasst: 22. Aug 2021 17:27
von udo1toni
Wie sieht denn das event.log aus, wenn Du die Taste drückst?

Re: Bekomme hue dimmer event nicht mit

Verfasst: 22. Aug 2021 18:32
von BOP
Bei mir sieht das so aus:

Code: Alles auswählen

rule "Flur_DimmerSchalter"
when
  Channel "deconz:switch:00212E04E328:00178801021b14f902fc00:buttonevent" triggered
then
  // Button x	
  // INITIAL_PRESSED	x000
  // HOLD	            x001
  // SHORT RELEASED	    x002
  // LONG RELEASED	    x003
  switch receivedEvent
  {
    case "1000" : // Taster 1 betätigt
    { 
      logInfo("Flur_DimmerSchalter-Rule","Flur Wandsender Hue: Taster 1 betaetigt") 
    }
    case "1002" : // Taster 1 kurz
    { 
      logInfo("Flur_DimmerSchalter-Rule","Flur Wandsender Hue: Taster 1 kurz betaetigt") 
    }
    case "1003" : // Taster 1 lang
    { 
      logInfo("Flur_DimmerSchalter-Rule","Flur Wandsender Hue: Taster 1 lang betaetigt") 
    }
end
Wie Udo andeutete, schau im event.log, was genau gesendet wird.

Re: Bekomme hue dimmer event nicht mit

Verfasst: 23. Aug 2021 20:53
von geos
Hallo ihr beiden!

Danke für die Antworten!
Die Logs hatte ich mir schon angeschaut, da taucht der Channel-Trigger nicht auf.
Habe jetzt mal bei den Triggern und dem Item changed rules eine Log-Ausgabe hinzugefügt.

Code: Alles auswählen

rule "Hue FB Heiz 1002"
when
   Channel "hue:0820:0017887ab334:4:dimmer_switch_event" triggered 1002.0
then
   logInfo("Hue", "Hue FB Heiz 1002")
   kg_waesche.sendCommand(ON)
end

rule "Hue FB Heiz 4002" 
when
   Channel "hue:0820:0017887ab334:4:dimmer_switch_event" triggered 4002.0
then
   logInfo("Hue", "Hue FB Heiz 4002")
   kg_waesche.sendCommand(OFF)
end

rule "Test Hue ON"
when
    Item HueTasterHeizungsraum_DimmerSchalter changed to 1002.0
then
    logInfo("Hue", "Test Hue ON")
    kg_waesche.sendCommand(ON)
end

rule "Test Hue OFF"
when
    Item HueTasterHeizungsraum_DimmerSchalter changed to 4002.0
then
    logInfo("Hue", "Test Hue OFF")
    kg_waesche.sendCommand(OFF)
end
Das ist das Ergebnis:

Code: Alles auswählen

2021-08-23 20:42:11.554 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'first.rules'

==> /var/log/openhab/events.log <==

2021-08-23 20:42:12.732 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'heiz_warmwasser_temp' changed from 45.88 to 45.64

2021-08-23 20:42:36.498 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'aussentemperatur' changed from 15.9 °C to 15.700000000000001 °C

2021-08-23 20:42:36.559 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'aussenhelligkeit' changed from 7444.0 to 5546.0

2021-08-23 20:42:37.039 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'kg_eingang' changed from 39 to 0

2021-08-23 20:42:39.317 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'kg_gast_deckenlicht' changed from 100 to 0

2021-08-23 20:42:47.250 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'Hausturkamera_Zuletztgesehen' changed from 2021-08-23T20:41:47.193+0200 to 2021-08-23T20:42:47.243+0200

==> /var/log/openhab/openhab.log <==

2021-08-23 20:43:01.097 [INFO ] [org.openhab.core.model.script.Hue   ] - Test Hue ON

==> /var/log/openhab/events.log <==

2021-08-23 20:43:01.093 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'HueTasterHeizungsraum_DimmerSchalter' changed from 4002.0 to 1002.0

2021-08-23 20:43:01.095 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'HueTasterHeizungsraum_LetzteAktualisierung' changed from 2021-08-23T20:36:47.000+0200 to 2021-08-23T20:42:28.000+0200

2021-08-23 20:43:01.100 [INFO ] [openhab.event.ItemCommandEvent      ] - Item 'kg_waesche' received command ON

2021-08-23 20:43:01.174 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'kg_waesche' changed from OFF to ON

2021-08-23 20:43:01.416 [INFO ] [openhab.event.ItemCommandEvent      ] - Item 'denon_input' received command SAT/CBL

2021-08-23 20:43:01.417 [INFO ] [penhab.event.ItemStatePredictedEvent] - Item 'denon_input' predicted to become SAT/CBL

2021-08-23 20:43:01.793 [INFO ] [openhab.event.ItemCommandEvent      ] - Item 'denon_command' received command MSMCH STEREO

2021-08-23 20:43:01.795 [INFO ] [penhab.event.ItemStatePredictedEvent] - Item 'denon_command' predicted to become MSSTEREO

2021-08-23 20:43:08.842 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'KNXDeviceOH3_LichtKellerBad' changed from OFF to ON

2021-08-23 20:43:10.103 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'Terrassenkamera_Zuletztgesehen' changed from 2021-08-23T20:42:10.042+0200 to 2021-08-23T20:43:10.098+0200

2021-08-23 20:43:11.355 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'HueTasterHeizungsraum_DimmerSchalter' changed from 1002.0 to 4000.0

2021-08-23 20:43:11.358 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'HueTasterHeizungsraum_LetzteAktualisierung' changed from 2021-08-23T20:42:28.000+0200 to 2021-08-23T20:42:38.000+0200

==> /var/log/openhab/openhab.log <==

2021-08-23 20:43:11.877 [INFO ] [org.openhab.core.model.script.Hue   ] - Test Hue OFF

==> /var/log/openhab/events.log <==

2021-08-23 20:43:11.873 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'HueTasterHeizungsraum_DimmerSchalter' changed from 4000.0 to 4002.0

2021-08-23 20:43:11.881 [INFO ] [openhab.event.ItemCommandEvent      ] - Item 'kg_waesche' received command OFF

2021-08-23 20:43:11.885 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'kg_waesche' changed from ON to OFF

2021-08-23 20:43:12.181 [INFO ] [openhab.event.ItemCommandEvent      ] - Item 'denon_command' received command MSSTEREO

2021-08-23 20:43:12.183 [INFO ] [penhab.event.ItemStatePredictedEvent] - Item 'denon_command' predicted to become MSSTEREO

2021-08-23 20:43:12.431 [INFO ] [openhab.event.ItemCommandEvent      ] - Item 'denon_power' received command OFF

2021-08-23 20:43:12.434 [INFO ] [penhab.event.ItemStatePredictedEvent] - Item 'denon_power' predicted to become OFF
Die verknüpften Items bekommen den Tastendruck mit, die Rules, die auf den Trigger reagieren sollen nicht.

Re: Bekomme hue dimmer event nicht mit

Verfasst: 23. Aug 2021 21:02
von geos
Hier ist auch noch das Ergebnis beim Click auf copy UID in der MainUI:

hue:0820:0017887ab334:4:dimmer_switch_event

Hatte zwischenzeitlich auch noch eine Rule hinzugefügt, die auf keinen speziellen Wert getriggert hat aber auch dort wurde kein Log-Eintrag angelegt.
Frage noch dazu: Werden bei einer Rule mit spezifischen Triggerwert und einer, die auf alle Werte reagieren soll eigentlich beide ausgeführt?

Re: Bekomme hue dimmer event nicht mit

Verfasst: 23. Aug 2021 22:44
von geos
So, da mir die Sache keine Ruhe gelassen hat, habe ich mich noch mal ran gesetzt und einfach eine neue Rule erstellt, die das gewünschte Resultat erzeugt:

Code: Alles auswählen

rule "Hue Button Heizung"
when
    Item HueTasterHeizungsraum_DimmerSchalter received update
then
    switch (HueTasterHeizungsraum_DimmerSchalter.state) {
        case 1002.0: { kg_waesche.sendCommand(ON) }
        case 4002.0: { kg_waesche.sendCommand(OFF) }
    }
end
Hier hätte mir wahrscheinlich auch ein changed statt received update gereicht, aber einen anderen Button nutze ich auch noch um Werte zu inkrementieren bzw. dekrementieren, da möchte ich auch einen erneuten Tastendruck erkennen. So ist es dann einheitlich, ich vergesse es nicht, falls ich an dem Button doch auch mal was erweitern will und die Anzahl der Tastendrücke beschränkt sich auf ein paar wenige pro Tag, so dass die Last auch vernachlässigbar ist.

Damit ist die alte Funktionalität wiederhergestellt, wenn auch über einen anderen Ansatz. Vielleicht hilft es jemanden...
Hatte zwischenzeitlich noch gelesen, dass der Channel event trigger nicht ganz zuverlässig funktioniert bei dem Hue-Binding. Vielleicht liegt es einfach daran, auch wenn ich mit dem alten Raspi keine Probleme festgestellt hatte.

Re: Bekomme hue dimmer event nicht mit

Verfasst: 24. Aug 2021 07:43
von KellerK1nd
Das Problem an deiner Regel, die triggered immer bei einem Update, das heißt, wenn der Dimmer Switch von der HUE Bridge als offline gemeldet wird oder die HUE Bridge selbst mal einen Restart hinlegt wird deine Regel starten auch wenn du nix gedrückt hast. Das kommt daher das der letzte Wert den der Switch gesendet hat erneut von der Bridge dann übertragen wird. Ich hatte anfangs auch die Regeln so gebaut bis mich das genervt hat.

Du kannst dir einen einfachen Logeintrag erstellen, um zu schauen was der Channel übermitelt:

Code: Alles auswählen

rule "HUE Dimmschalter 01"
when
    Channel "deconz:switch:00212E04E328:00178801021b14f902fc00:buttonevent" triggered
then
    logInfo("HUE Dimmerschalter 01", "Channel getriggered: {}", receivedEvent)
end
Da siehst du genau ob der Channel funktioniert oder nicht, wenn die Regel von dir allerdings läuft, dann muss auch der Channel funktionieren.

Re: Bekomme hue dimmer event nicht mit

Verfasst: 24. Aug 2021 16:35
von geos
Hallo Kellerk1nd!

So eine Rule, die auf alle Event-IDs des Channels reagiert hatte ich schon ausprobiert. Die wird leider ebenfalls nicht getriggert.
Werde bei Gelegenheit das Binding noch mal neu installieren und nochmal den Cache leeren. Vielleicht hilft es.

Re: Bekomme hue dimmer event nicht mit

Verfasst: 24. Aug 2021 16:37
von udo1toni
Also, mindestens wenn der Channel einen anderen Wert liefert als zuvor, sollte er so oder so im events.log auftauchen (schließlich ist das ja ein Event). Bei einem reinen Update (also ohne Wertänderung) werden die Meldungen, glaube ich, unterdrückt.

Es kann allerdings sein, dass die default Logger Konfiguration angepasst wurde, um channel grundsätzlich nicht anzuzeigen, oder evtl. in einer eigenen Datei zu speichern.

Aber in der Tat, das Item erhält seinen Status vom Channel, es ist also nicht möglich, dass es kein Channel event gibt. Allenfalls hat sich irgendwo ein kleiner Tippfehler eingeschlichen, dazu müsste man die exakten UIDs sehen.


Gesendet von iPad mit Tapatalk

Re: Bekomme hue dimmer event nicht mit

Verfasst: 24. Aug 2021 19:58
von geos
Hier noch mal ein paar Details:
Channels.png
dimmer_switch.png
dimmer_switch_event.png
Der "nicht Event"-Channel funktioniert mit seiner Rule, der "Event"-Channel nicht.