Seite 1 von 1
Habe Problem mit einer Regel
Verfasst: 22. Aug 2021 15:02
von JoyriderLP
Möchte wenn ich im KNX das Licht schalte, das wenn der Rollo unter 70% ist
Die Rollos auf fahren das script funktioniert da es mit einer Zeit Regel auch arbeitet
Aber weiss nicht warum diese Regel nicht funktioniert
Code: Alles auswählen
rule "EG Fahren Hoch"
when
Item Licht_EG_F changed to ON
then
if(Aufzug_Treppe.state >= 70) {
callScript("rollo_Auf.script")
}
end
Re: Habe Problem mit einer Regel
Verfasst: 22. Aug 2021 15:22
von int5749
Hola,
es wäre schön, wenn Du etwas auf die Formatierung Deines Scriptes achten würdest, damit es etwas leichter lesbearer wird

Also nicht alles nach einander eingerückt. Einfach mal hier im Forum schauen, da siehst Du dies schnell

(nur als Bitte/Hinweis)
1) hat es einen Grund, warum Du dies über ein separates Script steuerst/verschachtelst und die Rolllos's nicht direkt ansprichst?
2) Hast Du mal geprüft, welcher Wert in Aufzug_Treppe enthalten ist?? Die ginge z.B. über einen Log-Eintrag
z.B.
Code: Alles auswählen
rule "EG Fahren Hoch"
when
Item Licht_EG_F changed to ON
then
logInfo("Rollladen", "Aufzug Treppe: {}", Aufzug_Treppe.state.toString)
if(Aufzug_Treppe.state >= 70) {
callScript("rollo_Auf.script")
}
end
3) Wie sind Deine Items definiert??
Viele Grüße
Re: Habe Problem mit einer Regel
Verfasst: 22. Aug 2021 17:49
von JoyriderLP
Weil das script eigentlich nur ein test ist ob die Regel geht
Code: Alles auswählen
Rollershutter Aufzug_Treppe "Aufzug Treppe" <blinds> (Rollos) {channel="knx:device:bridge:aufroll1:Aufzug_Motor_Trepp"}
Switch Licht_EG_F "Fahrt" {channel="knx:device:bridge:aktor12f:Aufzug_EG_Fahrt"}
Re: Habe Problem mit einer Regel
Verfasst: 22. Aug 2021 17:53
von udo1toni
Ich möchte mal ketzerisch fragen: Warum überhaupt ein Script?
Re: Habe Problem mit einer Regel
Verfasst: 22. Aug 2021 18:50
von JoyriderLP
hab das problem gefunden hab bei der Regel darunter die eine andere Abfrage startet das end vergessen
Danke für deine Hilfe um ehrlich zu sein das ist für einen Speisenaufzug selbst gebaut mit Kontakt für jede Etage und das Skript war nur ein Test
Re: Habe Problem mit einer Regel
Verfasst: 23. Aug 2021 14:20
von udo1toni

Schön, dass Du den Fehler selbst gefunden hast.
Nur um meine Frage nochmal zu erklären: Es gibt kaum vernünftige Gründe, eine Routine in ein Script auszulagern. Ich habe das selbst früher auch gemacht, aber bin davon komplett abgekommen. Man muss zu viele Klimmzüge machen, um eine so ausgelagerte Funktion variabel nutzen zu können.
Wenn Du eine Rule testen möchtest, bietet sich logInfo("test","Rule xxx gestartet!") als Befehl an. Damit wird eine Logzeile in openhab.log erzeugt. Wenn Du openHABian als Installation nutzt, ist automatisch frontail an Bord, welches dann das log (events.log + openhab.log) über Port 9001 zur Verfügung stellt. Die Zeile taucht dann dort auf, sobald die Rule los läuft. "test" ist dabei der Loggername, bzw. der letzte Teil des Loggernamens. Er kann grundsätzlich frei gewählt werden, sollte aber (laut Konventionen) ausschließlich Zeichen des englischen Alphabets enthalten, keine Sonderzeichen, kein Leerzeichen. Ein Punkt markiert eine Hierarchieebene, das ist wichtig, wenn man solche Logbefehle global steuern möchte (das geht, ohne openHAB neu zu starten)