Garagentor Rule mit Zeitraum
-
- Beiträge: 1
- Registriert: 3. Okt 2017 13:25
Re: Garagentor Rule mit Zeitraum
Hallo Smarthomeler,
ich habe leider vergeblich versucht, eine etwas modizifierte Regel anzuwenden. Anwendungsfall ist ebenfalls ein Garagentoröffner, der bei einem offenstehenden Kontakt von mehr als 5 Minuten eine Nachricht raussendet.
Habt Ihr eine Idee, woran das liegen könnte?
Vielen Dank und viele Grüße,
db
Hier meine Rule:
rule "Nebeneingangstüre ist länger als 1 Minute geöffnet"
when
Item zwave_device_5d01b5c9_node12_sensor_door changed from CLOSED to OPEN
then
if (zwave_device_5d01b5c9_node12_sensor_door.state == OPEN)
(zwave_device_5d01b5c9_node12_sensor_door.changedSince(now.minusMinutes(1))){
sendMail("8sxwzdy1gj@pomail.net", "**Nebeneingangstüre ist >1min geöffnet!**", "**Nebeneingangstüre schließen!**")}
end
ich habe leider vergeblich versucht, eine etwas modizifierte Regel anzuwenden. Anwendungsfall ist ebenfalls ein Garagentoröffner, der bei einem offenstehenden Kontakt von mehr als 5 Minuten eine Nachricht raussendet.
Habt Ihr eine Idee, woran das liegen könnte?
Vielen Dank und viele Grüße,
db
Hier meine Rule:
rule "Nebeneingangstüre ist länger als 1 Minute geöffnet"
when
Item zwave_device_5d01b5c9_node12_sensor_door changed from CLOSED to OPEN
then
if (zwave_device_5d01b5c9_node12_sensor_door.state == OPEN)
(zwave_device_5d01b5c9_node12_sensor_door.changedSince(now.minusMinutes(1))){
sendMail("8sxwzdy1gj@pomail.net", "**Nebeneingangstüre ist >1min geöffnet!**", "**Nebeneingangstüre schließen!**")}
end
-
- Beiträge: 85
- Registriert: 25. Sep 2017 19:04
Re: Garagentor Rule mit Zeitraum
Hallo hallo,
ich bin noch ein relative Newbie und möchte einen ähnlichen Fall umsetzen, warte aber noch auf meine Schalter und Sensoren. Wie verwaltet ihr eure Rulesets? In HABmin, New, und dann quellcode rein?
Stelle ich mir das so richtig vor?
1000 Dank!
VG
Uwe
ich bin noch ein relative Newbie und möchte einen ähnlichen Fall umsetzen, warte aber noch auf meine Schalter und Sensoren. Wie verwaltet ihr eure Rulesets? In HABmin, New, und dann quellcode rein?
Stelle ich mir das so richtig vor?
1000 Dank!
VG
Uwe
- Cyrelian
- Beiträge: 601
- Registriert: 24. Sep 2015 17:55
Re: Garagentor Rule mit Zeitraum
hallo Ihr zwei,
so hab ich das gelöst:
Damit solltet ihr Eur Vorhaben umsetzen können .
CYA
Cyrelian
so hab ich das gelöst:
Code: Alles auswählen
/* ------------- Garage ist offen (länger als 15 Minuten zwischen 18:00 - 08:00) --------------------
*/
rule "Garage ist länger als 15 Minuten geöffnet (18:00 - 08:00)"
when
Time cron "0 0/15 18-8 * * ?"
then
if (GarageTorsensor.state == OFF && !GarageTorsensor.changedSince(now.minusMinutes(15))){
var String sensorState = transform("MAP","contact.map",GarageTorsensor.state.toString)
logInfo(filename, "Garage ist länger als 15 Minuten geöffnet")
//sendTelegram("MyopenHABbot","Garagentor ist " + sensorState)
pushover("Garagentor ist " + sensorState)
//Lautstärke setzen
gSonosNotificationVolume?.members.forEach[sonosV |
logInfo(filename, "Setze Notify Lautstärke auf \"50\" für Sonos Member \"" + sonosV.name + "\"")
sonosV.sendCommand(50 as Number)
]
//Sende Notification
say ("Die Garage ist noch offen")
} else {
logInfo(filename, "Garagentor ist geschlossen")
}
end
CYA
Cyrelian
-
- Beiträge: 85
- Registriert: 25. Sep 2017 19:04
Re: Garagentor Rule mit Zeitraum
Danke für den Tipp!!!
Du hattest das vorher mit WhatsApp, statt mit Sonos. Lief das nicht so gut mit den Mitteilungen per WhatsApp?
Das funktioniert doch auch genau so in openHAB 2, oder?
1000 Dank und Gruß!
Uwe
Du hattest das vorher mit WhatsApp, statt mit Sonos. Lief das nicht so gut mit den Mitteilungen per WhatsApp?
Das funktioniert doch auch genau so in openHAB 2, oder?
1000 Dank und Gruß!
Uwe
- Cyrelian
- Beiträge: 601
- Registriert: 24. Sep 2015 17:55
Re: Garagentor Rule mit Zeitraum
Hi Uwe,
WhatsApp lief nicht wirklich rund. Ich habe alles jetzt auf Pushover und Sonos umgestellt. Das läuft super stabil.
Ja, mit OH2 läuft das. Das ist meine aktuelle Rule in OH2.
CU
Cyrelian
WhatsApp lief nicht wirklich rund. Ich habe alles jetzt auf Pushover und Sonos umgestellt. Das läuft super stabil.
Ja, mit OH2 läuft das. Das ist meine aktuelle Rule in OH2.
CU
Cyrelian
-
- Beiträge: 85
- Registriert: 25. Sep 2017 19:04
Re: Garagentor Rule mit Zeitraum
Super Danke!
Das mit dem Pushover muss ich mir noch mal anschauen, mit dem Sonos würde meine Frau verrückt werden!
Dein Sensorstate ist "OFF", ich dachte meiner ist "Closed", wie finde ich das denn raus?
1000 Dank und Gruß!
Uwe
Das mit dem Pushover muss ich mir noch mal anschauen, mit dem Sonos würde meine Frau verrückt werden!
Dein Sensorstate ist "OFF", ich dachte meiner ist "Closed", wie finde ich das denn raus?
1000 Dank und Gruß!
Uwe
- Cyrelian
- Beiträge: 601
- Registriert: 24. Sep 2015 17:55
Re: Garagentor Rule mit Zeitraum
HI Uwe,
das liegt an dem Sensor den ich habe. Das ist der hm-sec-tis. Der kennt nur ON/OFF. Den findest du ganz einfach über die REST Api im openHAB raus. Einfach unter ITEMS\GET.
Ja, der WAF (woman acceptance factor) ist sehr wichtig bei der Hausautomatisierung
CU
Cyrelian
das liegt an dem Sensor den ich habe. Das ist der hm-sec-tis. Der kennt nur ON/OFF. Den findest du ganz einfach über die REST Api im openHAB raus. Einfach unter ITEMS\GET.
Ja, der WAF (woman acceptance factor) ist sehr wichtig bei der Hausautomatisierung
CU
Cyrelian
-
- Beiträge: 85
- Registriert: 25. Sep 2017 19:04
Re: Garagentor Rule mit Zeitraum
Hi Cyrelian,
ich hab deine Rule ein bisschen auf meine Sensoren angepasst und ein paar Fehlermeldungen bekommen:
In diesem Teil der Rule:
Verstehe ich es weiter richtig, dass dann ein Logfile mit dem Namen "Garage ist länger als 1 Minute geöffnet" erzeugt wird, was dann die Stati listet?
Sorry für die vielen Fragen, bin eben noch dabei mich da reinzufuchsen...
VG Uwe
ich hab deine Rule ein bisschen auf meine Sensoren angepasst und ein paar Fehlermeldungen bekommen:
Kannst du mir da aus dem Stehgreif ein bisschen was zu sagen?2017-10-23 13:48:04.407 [INFO ] [el.core.internal.ModelRepositoryImpl] - Refreshing model 'Garage.rules'
2017-10-23 13:48:04.450 [WARN ] [el.core.internal.ModelRepositoryImpl] - Configuration model 'Garage.rules' is either empty or cannot be parsed correctly!
2017-10-23 13:48:05.510 [INFO ] [el.core.internal.ModelRepositoryImpl] - Validation issues found in configuration model 'Garage.rules', using it anyway:
There is no context to infer the closure's argument types from. Consider typing the arguments or put the closures into a typed context.
2017-10-23 13:48:05.529 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'Garage.rules'
==> /var/log/openhab2/events.log <==
2017-10-23 13:48:20.203 [vent.ItemStateChangedEvent] - ZWaveNode9_DoorSensor changed from CLOSED to OPEN
==> /var/log/openhab2/openhab.log <==
2017-10-23 13:49:00.687 [ERROR] [ntime.internal.engine.ExecuteRuleJob] - Error during the execution of rule Garage ist länger als 15 Minuten geöffnet (13:00 - 08:00): An error occurred during the script execution: The name 'filename' cannot be resolved to an item or type.
In diesem Teil der Rule:
Ich verstehe das so, dass nach dem Ablauf der einen Minute der SensorState in einen String verwandelt wird, der dann später bei pushover eingesetzt wird. Was ist denn die "contact.map", ist das die Sitemap auf der dann der Status angezeigt wird?if (ZWaveNode9_DoorSensor.state == CLOSED && !ZWaveNode9_DoorSensor.changedSince(now.minusMinutes(1))){
var String sensorState = transform("MAP","contact.map",ZWaveNode9_DoorSensor.state.toString)
logInfo(filename, "Garage ist länger als 1 Minuten geöffnet")
Verstehe ich es weiter richtig, dass dann ein Logfile mit dem Namen "Garage ist länger als 1 Minute geöffnet" erzeugt wird, was dann die Stati listet?
Sorry für die vielen Fragen, bin eben noch dabei mich da reinzufuchsen...
VG Uwe
- Cyrelian
- Beiträge: 601
- Registriert: 24. Sep 2015 17:55
Re: Garagentor Rule mit Zeitraum
Hi Uwe,
Das XXX durch den Namen der Rule-Datei ersetzen.
Absolut richtig
Auch das ist korrekt. Das habe ich in meiner contact.map:
CU
Cyrelian
Du musst ganz oben in der Rule-Datei das eintragen:2017-10-23 13:49:00.687 [ERROR] [ntime.internal.engine.ExecuteRuleJob] - Error during the execution of rule Garage ist länger als 15 Minuten geöffnet (13:00 - 08:00): An error occurred during the script execution: The name 'filename' cannot be resolved to an item or type.
Code: Alles auswählen
val String filename = "XXX.rules"
Code: Alles auswählen
Ich verstehe das so, dass nach dem Ablauf der einen Minute der SensorState in einen String verwandelt wird, der dann später bei pushover eingesetzt wird.
Was ist denn die "contact.map", ist das die Sitemap auf der dann der Status angezeigt wird?
Auch das ist korrekt. Das habe ich in meiner contact.map:
Code: Alles auswählen
CLOSED=geschlossen
OPEN=offen
ON=geschlossen
OFF=offen
-=-Fehler bei der Initialisierung-
Nein, dadurch wird keine neu LOG-Datei erzeugt, sondern in der openhab.log folgender Eintrag:Verstehe ich es weiter richtig, dass dann ein Logfile mit dem Namen "Garage ist länger als 1 Minute geöffnet" erzeugt wird, was dann die Stati listet?
Code: Alles auswählen
2017-10-23 18:00:00.053 [INFO ] [.smarthome.model.script.system.rules] - Garage ist länger als 15 Minuten geöffnet
Cyrelian
-
- Beiträge: 85
- Registriert: 25. Sep 2017 19:04
Re: Garagentor Rule mit Zeitraum
Danke noch mal!
Ich hatte die ganze Zeit noch keine Zeit, das mal zu testen und nun hab ich mir folgendes gedacht, denkst du das könnte so passen?
Konnte es noch nicht richtig testen...
Fällt dir noch was auf, würdest du was anders machen?
VG Uwe
Ich hatte die ganze Zeit noch keine Zeit, das mal zu testen und nun hab ich mir folgendes gedacht, denkst du das könnte so passen?
Konnte es noch nicht richtig testen...
Code: Alles auswählen
var String filename = Garage.rules
/* ------------- Garage ist offen (länger als 15 Minuten zwischen 17:00 - 08:00) --------------------
*/
rule "Garage ist länger als 15 Minuten geöffnet (17:00 - 08:00)"
when
Time cron "0 0/15 17-8 * * ?"
then
if (ZWaveNode9_DoorSensor.state == OPEN && ZWaveNode9_DoorSensor.changedSince(now.minusMinutes(15)))
{ logInfo(filename, "Garage ist länger als 15 Minuten geöffnet")
//Sende Notification
sendMail("harry@hirsch.com", "**Garagentor ist >15min geöffnet!**", "**Garagentor schließen!**")}
else {
sendMail("harry@hirsch.com", "**Garage ist zu!**", "**Garage**")}
end
VG Uwe