Homematic Hutschienenrelais mit Xiami Smart Switch schalten

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
wighdeas
Beiträge: 26
Registriert: 30. Dez 2019 18:01
Answers: 1

Homematic Hutschienenrelais mit Xiami Smart Switch schalten

Beitrag von wighdeas »

Hi zusammen,

ich versuche meine Gardena-Pumpe (die an dem Homematic Hutschienenrelais hängt) mit einem Xiaomi-Smar Switch zu schalten (an und aus). Habe das ganze über eine Rule realisiert die aber im Log die Meldung

Code: Alles auswählen

openhab/rules/e0f5036cb2/state
RuleStatusInfoEvent
{"status":"IDLE","statusDetail":"NONE"}
ausgibt. die Rule sieht wie folgt aus:

Code: Alles auswählen

triggers:
  - id: "1"
    configuration:
      itemName: SmartSwitch_Button
      state: "1002"
      previousState: "1000"
    type: core.ItemStateChangeTrigger
conditions:
  - inputs: {}
    id: "3"
    configuration:
      itemName: Gartenbestromung
      state: ON
      operator: =
    type: core.ItemStateCondition
actions:
  - inputs: {}
    id: "2"
    configuration:
      itemName: GartenBestromungGewaechshausBewaesserungSTATE
      command: OFF
    type: core.ItemCommandAction
Fürs ausschalten sind die ON und OFF vertauscht

Der Switch gib beim Drücken folgende Logs aus

Code: Alles auswählen

openhab/items/SmartSwitch_Button/statechanged
ItemStateChangedEvent
{"type":"Decimal","value":"1002","oldType":"Decimal","oldValue":"1000"}
die Das HM-Relais diese:

Code: Alles auswählen

openhab/items/Pumpe/statechanged
ItemStateChangedEvent
{"type":"OnOff","value":"ON","oldType":"OnOff","oldValue":"OFF"}

nun die Frage - wo habe ich den Fehler drin - ich weiß dass es nichts kompliziertes ist aber ich bin auch nicht sehr versiert was Rules angeht :D

Vielen Dank im Voraus!

Edit - es gibt noch eine Rule die die Pumpe einschaltet wenn das Item "GartenBestromungGewaechshausBewaesserungSTATE" eingeschaltet wird. Nicht verwirren lassen.
Openhabian/Openhab 2.4.0.
RasPi4 4B
HomeMaticIP (CCU3, Firmware 3.51.6)
Dezcon-Zigbee-Adapter

Benutzeravatar
udo1toni
Beiträge: 15269
Registriert: 11. Apr 2018 18:05
Answers: 245
Wohnort: Darmstadt

Re: Homematic Hutschienenrelais mit Xiami Smart Switch schalten

Beitrag von udo1toni »

So ganz kann ich nicht nachvollziehen, was Du da zeigst. In der Rule verwendest Du drei verschiedene Items, SmartSwitch_Button (welches die Rule triggert, wenn der Status von 1000 auf 1002 wechselt), Gartenbestromung, welches den Status ON haben muss, damit die Rule ausgeführt wird, und GartenBestromungGewaechshausBewaesserungSTATE, welches den Befehl OFF erhält.

Der Name des letzten Items ist dabei bemerkenswert, denn Du möchtest keinen Status ändern, sondern ein Relais schalten. Nun kannst Du Deine Itemnamen natürlich beliebig kompliziert wählen... Grundsätzlich sollte es aber für eine bestimmte Funktion exakt ein Item geben, also z.B. für die Pumpe ein Item GartenPumpe. Dieses Item hat einen Status (ON oder OFF), welcher den aktuellen Zustand der Pumpe widerspiegelt, außerdem kann man an exakt dieses Item auch Befehle senden (ON und OFF) welche dann die Pumpe ein- bzw. ausschalten. In der Folge ändert sich dann auch der Status des Items.

Als klassische DSL-Rule sähe der Code dann so aus:

Code: Alles auswählen

rule "Pumpe schalten"
when
    Item Button changed to 1002
then
    GartenPumpe.sendCommand(if(GartenPumpe.state != ON) ON else OFF)
end
Wann immer der Taster seinen Status auf 1002 ändert, wird abhängig vom aktuellen Zustand der gegenteilige Befehl gesendet.
Wichtig ist aber vor allem, dass es sich um das selbe Item handelt, von dem Status geholt und an das der Befehl gesendet wird.
Wenn Du die Rule über die Main UI erstellst, musst Du (zumindest, wenn Du keinen Codeblock ausführen lässt) tatsächlich zwei Rules anlegen. Aber das Item für die Bedingung sollte das selbe Item sein, welches auch den Befehl sendet.

Woher stammen denn Deine "Log" Meldungen? Das Log von openHAB sieht komplett anders aus...
openHAB4.3.6 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet

wighdeas
Beiträge: 26
Registriert: 30. Dez 2019 18:01
Answers: 1

Re: Homematic Hutschienenrelais mit Xiami Smart Switch schalten

Beitrag von wighdeas »

Hi Udo,

erstmal wie immer vielen Dank für die umfangreiche Antwort. Ich geh es mal chronologisch durch:
In der Rule verwendest Du drei verschiedene Items, SmartSwitch_Button (welches die Rule triggert, wenn der Status von 1000 auf 1002 wechselt), Gartenbestromung, welches den Status ON haben muss, damit die Rule ausgeführt wird, und GartenBestromungGewaechshausBewaesserungSTATE, welches den Befehl OFF erhält.
--> In dem Fall habe ich wohl missverstanden, dass wenn ich "...STATE" ändere, das item dadurch aktiviert wird. Heißt das mit dem Channel "...STATE" kann ich immer nur sehen was das entsprechende Item für einen Zustand hat, sprich "readonly"?

Da ich folgende Rule, die die Pumpe einschalten soll wenn das Ventil vom Gewächshaus aktiviert wird, habe (die übrigens auch noch nicht funktioniert):

Code: Alles auswählen

triggers:
  - id: "1"
    configuration:
      itemName: Gewaechhaus
      command: ON
    type: core.ItemCommandTrigger
conditions: []
actions:
  - inputs: {}
    id: "2"
    configuration:
      itemName: Pumpe
      command: ON
    type: core.ItemCommandAction
war meine Idee, mit meiner hier eigentlich geplanten Rule, das Item der Gewächshausbewässerung einzuschalten. Die Pumpe würde dann ja automatisch mit eingeschaltet.
Der Name des letzten Items ist dabei bemerkenswert, denn Du möchtest keinen Status ändern, sondern ein Relais schalten
--> Der Name leitet sich ab aus dem Hutschienen-Relais "Gartenbestromung" mit vier Kanälen (Nicht belegt, Pumpe, Ventil für Gewächshaus, Ventil für Raspensprenger). In der Tat etwas umständlich, bin offen für Vorschläge :D
Wann immer der Taster seinen Status auf 1002 ändert, wird abhängig vom aktuellen Zustand der gegenteilige Befehl gesendet.
Wichtig ist aber vor allem, dass es sich um das selbe Item handelt, von dem Status geholt und an das der Befehl gesendet wird.
Wenn Du die Rule über die Main UI erstellst, musst Du (zumindest, wenn Du keinen Codeblock ausführen lässt) tatsächlich zwei Rules anlegen. Aber das Item für die Bedingung sollte das selbe Item sein, welches auch den Befehl sendet.
--> ich habe deine Rule via .rules datei in VSC erstellt, nun bekomme ich aber das Problem, dass ich in der OH-Weboberfäche die ersten Zeilen auskommentiert bekomme. Siehe anbei ein Screenshot wie es in VCS angelegt ist und gleichzeitig was ich in OH sehe. Muss ich noch irgendwas umstellen oder woran könnte das liegen?
Woher stammen denn Deine "Log" Meldungen? Das Log von openHAB sieht komplett anders aus...
Ich hab mich auch gewundert, ist eher ein Eventlogger als Logfile (wenns da einen großen Unterschied gibt). in dem Bild anbei ist der Pfad dazu (OH Weboberfläche). Wo finde ich den die Logs wie früher in OH V2.x?

Liebe Grüße!

Edit:

unerwartet habe ich es geschafft mit dieser Rule die Pumpe mit den SmartSwitch zu aktivieren:

Code: Alles auswählen

triggers:
  - id: "1"
    configuration:
      channelUID: deconz:switch:homeserver:00158d000548eaeb010006:buttonevent
    type: core.ChannelEventTrigger
conditions:
  - inputs: {}
    id: "3"
    configuration:
      itemName: Pumpe
      state: OFF
      operator: =
    type: core.ItemStateCondition
actions:
  - inputs: {}
    id: "2"
    configuration:
      itemName: Pumpe
      command: ON
    type: core.ItemCommandAction
Nun habe ich aber das Problem wenn ich die Rule umdrehe (fürs Ausschalten) und live schalte, dann die Pumpe zwar angeht, aber direkt wieder aus, da ja die "Ausschalt"-Rules besagt, "Wenn SmartSwicht gedrückt und Pumpe "EIN" --> dann Pumpe ausschalten". Ein Dilemma, zumindest für einen Laien wie mich. :lol:

Zewcks der Nachhaltigkeit die Frage - warum funktiert dieser aber die deine @Udo nicht?
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Openhabian/Openhab 2.4.0.
RasPi4 4B
HomeMaticIP (CCU3, Firmware 3.51.6)
Dezcon-Zigbee-Adapter

Benutzeravatar
udo1toni
Beiträge: 15269
Registriert: 11. Apr 2018 18:05
Answers: 245
Wohnort: Darmstadt

Re: Homematic Hutschienenrelais mit Xiami Smart Switch schalten

Beitrag von udo1toni »

Nun ja, meine Rule kann ja nicht funktionieren, denn sie enthält nicht die für Dich korrekten Itemnamen.

Dein Log-Code stammt aus dem Event Monitor. Das hat aber nichts mit dem Logger zu tun. Das korrekte Log landet (wie schon Seit Version OH 0.x) in den Dateien openhab.log und events.log. Die beiden Dateien befinden sich gewöhnlich im Ordner /var/log/openhab/ (bzw openhab2). Die Webschnittstelle für das Logging kommt mit openHABian und hat mit openHAB direkt nichts zu tun. Das Tool heißt frontail und ist, wenn installiert, auf Port 9001 erreichbar.
openHAB4.3.6 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet

Antworten