OH3 Pushbutton Funktion

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

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

Re: OH3 Pushbutton Funktion

Beitrag von udo1toni »

FF_Office_Power_O2_on ist ziemlich sicher eine globale Variable. Es ist aber gleich in mehrfacheer Hinsicht Quatsch, das so zu realisieren.

Die korrekte Umsetzung von Toggle ist sehr viel einfacher so zu erledigen:

Code: Alles auswählen

rule "Büro Erdkugel"
when
    Item FF_Office_BuroSchaltkasten6PRESSSHORT changed to ON
then
    FF_Office_Power_O2.sendCommand(if(FF_Office_Power_O2.state != ON) ON else OFF)
end
Dem Item wird der Befehl ON geschickt, falls der Status des Items nicht ON ist, falls der Status ON ist, wird OFF gesendet.

Der Trigger der Rule ist mutmaßlich auch wesentlich zu kompliziert, allerdings kommt es da natürlich drauf an, der Taster genau angebunden ist. Gewöhnlich gibt es aber ein Event Channel, der dann SHORT_PRESSED oder LONG_PRESSED als Trigger schickt. Es braucht dazu gar kein Item.
openHAB4.3.6 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet

rbeudel
Beiträge: 258
Registriert: 6. Jun 2019 11:25
Answers: 1

Re: OH3 Pushbutton Funktion

Beitrag von rbeudel »

Ich kann Euch versichern, das die Rule so wie sie im ersten Beitrag steht unter openhab2 monatelang unter ständiger Nutzung einwandfrei lief. Sie läuft auch unter OH3. Die java errors haben nicht direkt etwas mit dieser rule zu tun, sondern sollen auftreten wenn viele dsl rules laufen. Bei mir lief das system manchmal nur 4 Stunden und oh3 musste mit systemctl restart neu gestartet werden. Dann war das log voll mit diesen java Fehlern. Als workaround habe ich schon in der oh3 config Datei die Java einstellungen angepasst, dann läuft das system mehrere Tage. Mir wurde im englischen Forum emphohlen die dsl rules gegen js auszutauschen. Das wollte ich mit dieser eigenlich simplen rule anfangen. Wie immer hat @udo1toni diese schon einmal mit seinem Genie :idea: stark verbessert und verkürzt, so das ich es jetzt noch einmal mit blockly versuchen werde.
Viele Grüße,
Ralf


Debmatic und Openhab in Proxmox VM debian x86_64

int5749
Beiträge: 1173
Registriert: 4. Nov 2019 22:08
Answers: 9

Re: OH3 Pushbutton Funktion

Beitrag von int5749 »

rbeudel hat geschrieben: 13. Feb 2021 10:10 Die java errors haben nicht direkt etwas mit dieser rule zu tun, sondern sollen auftreten wenn viele dsl rules laufen. Bei mir lief das system manchmal nur 4 Stunden und oh3 musste mit systemctl restart neu gestartet werden. Dann war das log voll mit diesen java Fehlern.
Da scheint eher noch etwas anderes im argen zu sein und OH 3 reagiert nur anders darauf? Bei mir läuft das System mit 55 Rules ohne Probleme und Fehler und Warnhinweise. Oder hast Du deutlich mehr als nur 55 Rules??

Gruß,
INT5749
openHAB 4.1.0 Release mit openHABian in einem Debian Bookworm (LXC) unter Proxmox 8.1.3

rbeudel
Beiträge: 258
Registriert: 6. Jun 2019 11:25
Answers: 1

Re: OH3 Pushbutton Funktion

Beitrag von rbeudel »

So,
erst einmal an die Experten eine Entschuldigung. Ich habe tatsächlich in meinem Beispiel die erste Zeile die Variabelendefinition vergessen. :mrgreen:

Code: Alles auswählen

var Number FF_Office_Power_O2_on = 0
Vorher war es eine rules Datei mit vielen rules. Jetzt hat jede rule seine Datei. Dabei habe ich die Deklariation ganz oben vergessen.
Jetzt habe ich auch aus

Code: Alles auswählen

rule "Büro Erdkugel"
when
    Item FF_Office_BuroSchaltkasten6PRESSSHORT changed to ON
then
    FF_Office_Power_O2.sendCommand(if(FF_Office_Power_O2.state != ON) ON else OFF)
end
ein js gemacht
trigger

Code: Alles auswählen

FF_Office_BuroSchaltkasten6PRESSSHORT changed

Code: Alles auswählen

if (itemRegistry.getItem('Steckdose2Erdkugel_Schalter').getState() != 'ON') {
  events.sendCommand('Steckdose2Erdkugel_Schalter', 'ON');
} else {
  events.sendCommand('Steckdose2Erdkugel_Schalter', 'OFF');
}
Screenshot (15).jpg
Die Bezeichnungen haben sich etwas geändert.
So der Anfang ist gemacht, danke für die Unterstützung. Jetzt kommen die harten Fälle.
Viele Grüße,
Ralf
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Zuletzt geändert von rbeudel am 13. Feb 2021 20:04, insgesamt 1-mal geändert.
Viele Grüße,
Ralf


Debmatic und Openhab in Proxmox VM debian x86_64

Benutzeravatar
lukh
Beiträge: 100
Registriert: 5. Dez 2019 20:15
Answers: 2

Re: OH3 Pushbutton Funktion

Beitrag von lukh »

Über die UI kann ich vielleicht helfen. Der Trigger sollte sein:

FF_Office_BuroSchaltkasten6PRESSSHORT changed

Dann folgendes Script ausführen:

Code: Alles auswählen

var tasterBuero  =  itemRegistry.getItem("FF_Office_BuroSchaltkasten6PRESSSHORT").getState();

if(tasterBuero == "ON") {
  events.sendCommand("FF_Office_Power_O2", "ON");
} else {
  events.sendCommand("FF_Office_Power_O2", "OFF");
}

rbeudel
Beiträge: 258
Registriert: 6. Jun 2019 11:25
Answers: 1

Re: OH3 Pushbutton Funktion

Beitrag von rbeudel »

Danke @ lukh ,
so wie ich es gemacht habe geht es auch.
Viele Grüße,
Ralf


Debmatic und Openhab in Proxmox VM debian x86_64

Antworten