Doorbird und KNX Licht schalten mit einer Rule
-
- Beiträge: 14
- Registriert: 27. Aug 2020 19:00
Doorbird und KNX Licht schalten mit einer Rule
Hallo zusammen,
auch in bin neu bei OpenHab angekommen und arbeite mich gerade in die Materie ein.
Mein Ziel ist es, das Doorbird Motion Signal einzulesen und dann die Haustürlampe einzuschalten.
Hört sich machbar an aber ich scheitere schon daran
Hoffe jemand aus dem Forum kann mir ein Schupser in die richtige Richtung geben.
Doorbird scheint zu funktionieren und wird in OpenHab richtig eingelesen.
Eine Test Lampe kann ich über Control ein und ausschalten somit klappt KNX auch.
Nur mit der Rule komme ich nicht weiter! Das Licht wird nicht eingeschaltet und im Log File finde ich auch keine Information. Braucht Ihr noch weitere Informationen von mir?
Vorab vielen Dank für Eure Hilfe
Gruß Köchi
auch in bin neu bei OpenHab angekommen und arbeite mich gerade in die Materie ein.
Mein Ziel ist es, das Doorbird Motion Signal einzulesen und dann die Haustürlampe einzuschalten.
Hört sich machbar an aber ich scheitere schon daran
Hoffe jemand aus dem Forum kann mir ein Schupser in die richtige Richtung geben.
Doorbird scheint zu funktionieren und wird in OpenHab richtig eingelesen.
Eine Test Lampe kann ich über Control ein und ausschalten somit klappt KNX auch.
Nur mit der Rule komme ich nicht weiter! Das Licht wird nicht eingeschaltet und im Log File finde ich auch keine Information. Braucht Ihr noch weitere Informationen von mir?
Vorab vielen Dank für Eure Hilfe
Gruß Köchi
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Raspberry PI 3, OpenHap 2.5, KNX, Doorbird, Sonos, Alexa
-
- Beiträge: 424
- Registriert: 6. Mär 2019 11:19
Doorbird und KNX Licht schalten mit einer Rule
Also erstmal füge bitte sowas hier im mit Code Text ein so ist das immer schwer zu lesen las die Rule doch mal auf changed to ON triggern anstatt auf received Command
Gesendet von iPhone mit Tapatalk
Gesendet von iPhone mit Tapatalk
-
- Beiträge: 14
- Registriert: 27. Aug 2020 19:00
Re: Doorbird und KNX Licht schalten mit einer Rule
Hi,
du meinst s0
du meinst s0
Code: Alles auswählen
rule "Motion Detected"
when
Item Doorbell_Motion changed to ON
//
then
KnxEGLichtWzKamin.sendCommand(ON)
// degub logging
logDebug("doorbird_motion.rules", "Motion Detected Doorbird Debug")
logError("doorbird_motion.rules", "Motion Detected Doorbird Error")
logInfo("doorbird_motion.rules", "Motion Detected Doorbird Info" + KnxEGLichtWzKamin.state)
logWarn("doorbird_motion.rules", "Motion Detected Doorbird Warm")
end
Raspberry PI 3, OpenHap 2.5, KNX, Doorbird, Sonos, Alexa
-
- Beiträge: 424
- Registriert: 6. Mär 2019 11:19
Doorbird und KNX Licht schalten mit einer Rule
Ja genauso , für beides
Gesendet von iPhone mit Tapatalk
Gesendet von iPhone mit Tapatalk
-
- Beiträge: 14
- Registriert: 27. Aug 2020 19:00
Re: Doorbird und KNX Licht schalten mit einer Rule
OK
Die Bewegung wurde erkannt:
Jedoch gibt es keine Info im "openhab.log" File oder ein Licht geht an.
Ich hätte gehofft das im Log File etwas auftaucht, wollte es zum Testen verwenden.
Gibt es noch eine Möglichkeit zu testen ob die Rule in den "when" oder "then" Zweig kommt?
Ich hatte den Log Anweisung im "when" drinnen aber dann taucht ein Fehler im openhab.log File auf.
Die Bewegung wurde erkannt:
Code: Alles auswählen
2020-08-29 17:49:31.033 [vent.ItemStateChangedEvent] - doorbird_d101_ed77bdf4_motion changed from ON to OFF
2020-08-29 17:49:35.636 [vent.ItemStateChangedEvent] - doorbird_d101_ed77bdf4_image changed from raw type (image/jpeg): 37542 bytes to raw type (image/jpeg): 38046 bytes
2020-08-29 17:49:35.646 [vent.ItemStateChangedEvent] - doorbird_d101_ed77bdf4_imageTimestamp changed from 2020-08-29T17:48:35.000+0200 to 2020-08-29T17:49:35.000+0200
Code: Alles auswählen
2020-08-29 17:47:21.418 [INFO ] [el.core.internal.ModelRepositoryImpl] - Refreshing model 'doorbird_motion.rules'
2020-08-29 17:50:16.341 [INFO ] [el.core.internal.ModelRepositoryImpl] - Refreshing model 'doorbird_bell.rules'
Gibt es noch eine Möglichkeit zu testen ob die Rule in den "when" oder "then" Zweig kommt?
Ich hatte den Log Anweisung im "when" drinnen aber dann taucht ein Fehler im openhab.log File auf.
Raspberry PI 3, OpenHap 2.5, KNX, Doorbird, Sonos, Alexa
-
- Beiträge: 424
- Registriert: 6. Mär 2019 11:19
Re: Doorbird und KNX Licht schalten mit einer Rule
du musst auch das richtige Item Abfragen dein Item heisst doorbird_d101_ed77bdf4_motion
Die ganzen Logbefehle sind Blödsinn da alle log ausgeführt werden
dies wäre Hilfreich wenn du mehrer bedingungen im Then teil hättest damit du weisst bis wo die Rule ausgeführt wird
Code: Alles auswählen
rule "Motion Detected"
when
Item doorbird_d101_ed77bdf4_motion changed to ON
then
KnxEGLichtWzKamin.sendCommand(ON)
end
dies wäre Hilfreich wenn du mehrer bedingungen im Then teil hättest damit du weisst bis wo die Rule ausgeführt wird
-
- Beiträge: 14
- Registriert: 27. Aug 2020 19:00
Re: Doorbird und KNX Licht schalten mit einer Rule
Das Item "KnxEGLichtWzKamin" war auch nicht das richtige.
Ich habe das Licht eingeschaltet und den Namen aus dem Log genommen und verwendet.
Finde nicht das richtige KNX Item
Da merkt man halt den Anfänger
Ich muss mir nochmal die Beschreibungen durchlesen.
Meine letze Frage für heute:
Ich hatte die Version 2.5 auf einer Synology laufen und habe dann von Hand die neueste Stable Version 2.5.x auf dem PI installiert.
Beim aktivieren der Bindings wurden die Items automatisiert erstellt und ich sehe keine Items mehr in der Paper UI.
Ist das ein normales Verhalten oder habe ich beim aufsetzen etwas verschossen?
Ich glaube mich auch daran zu erinnern, dass die Empfehlung ist die Items von Hand zu erstellen oder irre ich mich?
Vielen Dank für deine Hilfe Darkwin101
Gruß Köchi
Ich habe das Licht eingeschaltet und den Namen aus dem Log genommen und verwendet.
Finde nicht das richtige KNX Item
Da merkt man halt den Anfänger
Ich muss mir nochmal die Beschreibungen durchlesen.
Meine letze Frage für heute:
Ich hatte die Version 2.5 auf einer Synology laufen und habe dann von Hand die neueste Stable Version 2.5.x auf dem PI installiert.
Beim aktivieren der Bindings wurden die Items automatisiert erstellt und ich sehe keine Items mehr in der Paper UI.
Ist das ein normales Verhalten oder habe ich beim aufsetzen etwas verschossen?
Ich glaube mich auch daran zu erinnern, dass die Empfehlung ist die Items von Hand zu erstellen oder irre ich mich?
Vielen Dank für deine Hilfe Darkwin101
Gruß Köchi
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Raspberry PI 3, OpenHap 2.5, KNX, Doorbird, Sonos, Alexa
- udo1toni
- Beiträge: 13864
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Doorbird und KNX Licht schalten mit einer Rule
Na, so ganz stimmt das nichtDarkwin101 hat geschrieben: ↑29. Aug 2020 18:11 Die ganzen Logbefehle sind Blödsinn da alle log ausgeführt werden
Code: Alles auswählen
rule "Motion Detected"
when
Item Doorbell_Motion changed to ON
//
then
KnxEGLichtWzKamin.sendCommand(ON)
// degub logging
logDebug("doorbird_motion.rules", "Motion Detected Doorbird Debug") // wird nicht ausgeführt
logError("doorbird_motion.rules", "Motion Detected Doorbird Error") //wird ausgeführt
logInfo("doorbird_motion.rules", "Motion Detected Doorbird Info" + KnxEGLichtWzKamin.state) // wird nicht ausgeführt
logWarn("doorbird_motion.rules", "Motion Detected Doorbird Warm") // wird nicht ausgeführt
end
logInfo() wird nicht ausgeführt, da man den Status nicht einfach als String verwenden kann -> Rule bricht mit NullPointerException ab.
logWarn() wird auch nicht ausgeführt, da die Rule schon vorher gecrasht ist.
log-Meldungen sind grundsätzlich hilfreich zum eingrenzen von Fehlern. Aber BITTE verwendet das so, wie es gedacht ist!Darkwin101 hat geschrieben: ↑29. Aug 2020 18:11 dies wäre Hilfreich wenn du mehrer bedingungen im Then teil hättest damit du weisst bis wo die Rule ausgeführt wird
Es gibt vier verschiedene Stufen, eben Debug, Info, Warn und Error. Diese werden im Log auch so gekennzeichnet und sollten auch ihrer Stufe entsprechend verwendet werden.
Debug: detaillierte Informationen, die nur im Ausnahmefall interessant sind.
Info: allgemeine Informationen
Warn: Warnmeldungen (z.B. weil ein Wert nicht gelesen werden konnte und in der Folge ein Default Wert verwendet wird)
Error: Wenn die Rule abgebrochen werden muss, weil ein schwerer Fehler aufgetreten ist.
Alle log-Befehle einer Rule (oder auch thematisch zusammengehörender Rules) sollten den gleichen Logger verwenden. Der Logger ist der erste String.
BITTE verwendet nicht das Wort "rules" oder "rule" im Loggernamen, das ist doppelt gemoppelt. Alle Logger aus der Rules Engine gehören zu org.openhab.module.script, das ist eindeutig, und wenn man den Loggernamen kurz genug wählt (!), sieht man genug von dieser Zeichenkette, um die Meldung zuordnen zu können.
Im vorliegenden Fall wäre meine Wahl einfach doorbird, was dann als vollständigen Loggernamen org.openhab.module.script.doorbird ergibt. Im Log selbst werden die letzten 36 Zeichen angezeigt, was dann [ org.openhab.module.script.doorbird] ergibt.
Über den Loggernamen kann man zur Laufzeit (ohne openHAB zu beenden) jederzeit wählen, wie weitreichend die Meldungen sein sollen, das geht über die Karaf Konsole. Man kann dort das Logging (pro Logger) auf die Stufen TRACE, DEBUG, INFO, WARN, ERROR, OFF und DEFAULT einstellen. Alles unterhalb der gewählten Stufe wird nicht geloggt, wenn man also WARN wählt, werden logWarn und logError geloogt, logDebug und logInfo aber nicht. DEFAULT erbt die Einstellung des übergeordneten Elements (org.openhab.module.script, das erbt INFO von org.openhab (über org.openhab.module)
Zum Testen (und so waren die logBefehle sicher gedacht ) ist es natürlich vollkommen ok, sie einfach hinzuschreiben.
Zum testen, bis wohin ein Code ausgeführt wird, ist es hingegen sinnvoller, den Log-Text (das ist der zweite String der Meldung) zu variieren, z.B. so:
Code: Alles auswählen
rule "Motion Detected"
when
Item Doorbell_Motion changed to ON
//
then
logInfo("doorbird", "Motion Detected - Rule wurde getriggert.")
KnxEGLichtWzKamin.sendCommand(ON)
logInfo("doorbird", "Motion Detected - Licht wurde geschaltet.")
end
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet
- udo1toni
- Beiträge: 13864
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Doorbird und KNX Licht schalten mit einer Rule
Was das Problem mit den automatischen Items betrifft: Du hast den Simple Mode aktiv. Das kannst Du in Paper UI->Configuration->System->Item Linking ändern (Simple Mode OFF).
Bestehende Items werden dabei nicht entfernt.
Welche Items mit welchen Channels verlinkt sind, kann man aber auch bei Simple Mode ON im Thing nachsehen (der Channel hat einen ausgefüllten weißen Kreis auf blauem Grund, dann auf der rechten Seite die UP/DOWN Pfeile anklicken und es öffnet sich eine Liste der verlinkten Items. Dort kann man auch den Namen direkt in die Zwischenablage übernehmen (das Kopiersymbol neben dem Namen)
Für die Rule-Entwicklung möchte ich Dir VSCode mit dem openHAB Plugin ans Herz legen. wenn das Plugin korrekt konfiguriert ist, kannst Du über das openHAB-Menü in VSCode eine Liste aller Things und Channels sowie eine Liste aller Items einsehen (gruppiert). Die Liste lässt sich neu einlesen, falls man Items gelöscht, geändert oder hinzugefügt hat, ansonsten lassen sich Itemnamen direkt in Sitemaps oder Rules einsetzen. Der aktuelle Status wird per Mouseover angezeigt.
EDIT: Ich muss mich korrigieren. Offensichtlich kann man das Item im Simple Mode nicht im Thing nachsehen. Und der Kopierknopf übernimmt lediglich die UUID des Channels in die Zwischenablage. Das war mal anders... VSCode ist davon aber nicht betroffen, da funktioniert die Liste immer.
Bestehende Items werden dabei nicht entfernt.
Welche Items mit welchen Channels verlinkt sind, kann man aber auch bei Simple Mode ON im Thing nachsehen (der Channel hat einen ausgefüllten weißen Kreis auf blauem Grund, dann auf der rechten Seite die UP/DOWN Pfeile anklicken und es öffnet sich eine Liste der verlinkten Items. Dort kann man auch den Namen direkt in die Zwischenablage übernehmen (das Kopiersymbol neben dem Namen)
Für die Rule-Entwicklung möchte ich Dir VSCode mit dem openHAB Plugin ans Herz legen. wenn das Plugin korrekt konfiguriert ist, kannst Du über das openHAB-Menü in VSCode eine Liste aller Things und Channels sowie eine Liste aller Items einsehen (gruppiert). Die Liste lässt sich neu einlesen, falls man Items gelöscht, geändert oder hinzugefügt hat, ansonsten lassen sich Itemnamen direkt in Sitemaps oder Rules einsetzen. Der aktuelle Status wird per Mouseover angezeigt.
EDIT: Ich muss mich korrigieren. Offensichtlich kann man das Item im Simple Mode nicht im Thing nachsehen. Und der Kopierknopf übernimmt lediglich die UUID des Channels in die Zwischenablage. Das war mal anders... VSCode ist davon aber nicht betroffen, da funktioniert die Liste immer.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet
-
- Beiträge: 14
- Registriert: 27. Aug 2020 19:00
Re: Doorbird und KNX Licht schalten mit einer Rule
Hi udo1toni,
Danke für die Erklärung und die Tipps bezüglich Logging werde ich umsetzen.
Visual Studio Code habe ich installiert. Der Code Checker klappt nicht, bei den Rules werden keine Fehler markiert.
Habe gedacht er würde das Itemm rot markieren.
Fällt dir beim settings.jason File etwas auf, was ich vergessen habe?
Simple Mode habe ich ausgeschaltet und schon sind die Items wieder da.
Danke für die Hilfe.
Gruß Köchi
Danke für die Erklärung und die Tipps bezüglich Logging werde ich umsetzen.
Visual Studio Code habe ich installiert. Der Code Checker klappt nicht, bei den Rules werden keine Fehler markiert.
Habe gedacht er würde das Itemm rot markieren.
Code: Alles auswählen
when
Itemm doorbird_d101_ed77bdf4_motion changed to ON
then
Code: Alles auswählen
{
"openhab.host": "192.168.178.55",
"openhab.port": 8080,
"[openhab]": {
"editor.defaultFormatter": "openhab.openhab"
},
"openhab.useRestApi": true,
"openhab.remoteLspEnabled": true,
"openhab.remoteLspPort": 5007,
"openhab.karafCommand": "ssh openhab@192.168.178.55 -p 8101 -t 'log:tail'",
}
Danke für die Hilfe.
Gruß Köchi
Raspberry PI 3, OpenHap 2.5, KNX, Doorbird, Sonos, Alexa