Mailversandregel wenn Temp. >= 25 Grad - wie gehts ?
-
- Beiträge: 8
- Registriert: 11. Jun 2018 08:13
Mailversandregel wenn Temp. >= 25 Grad - wie gehts ?
Hallo,
ich hab mir die "Wetterstation" https://tutorials-raspberrypi.de/raspbe ... -openhab2/
eingerichtet unter OpenHAB 2
Mailversand beim Systemreboot klappt.
Aber ich verstehe nicht wie ich eine Rule bauen muss die mir dann z.B.
wenn Temperatur mehr als 25 Grad hat dann eine Mail schickt.
/etc/openhab2/rules/tempwarn.rules
rule "Temperature to high"
when
Item temperature_out received update
then
if temperature >= 25.0) {
sendMail("vorname.nachname@domain.tld","Temperaturwarnung: >= 25","Temperatur >=25 Grad")
}
end
ich hab mir die "Wetterstation" https://tutorials-raspberrypi.de/raspbe ... -openhab2/
eingerichtet unter OpenHAB 2
Mailversand beim Systemreboot klappt.
Aber ich verstehe nicht wie ich eine Rule bauen muss die mir dann z.B.
wenn Temperatur mehr als 25 Grad hat dann eine Mail schickt.
/etc/openhab2/rules/tempwarn.rules
rule "Temperature to high"
when
Item temperature_out received update
then
if temperature >= 25.0) {
sendMail("vorname.nachname@domain.tld","Temperaturwarnung: >= 25","Temperatur >=25 Grad")
}
end
-
- Beiträge: 210
- Registriert: 23. Mai 2017 21:41
Re: Mailversandregel wenn Temp. >= 25 Grad - wie gehts ?
Code: Alles auswählen
var mailGesendet = false
rule "Temperature to high"
when
Item temperature_out changed
then
if (mailGesendet) {
if ((temperature_out.state as DecimalType).floatValue() < 25) {
mailGesendet = false}}
else {
if ((temperature_out.state as DecimalType).floatValue() >= 25) {
sendMail("vorname.nachname@domain.tld","Temperaturwarnung: >= 25","Temperatur >=25 Grad")
mailGesendet = true }}
end
-
- Beiträge: 8
- Registriert: 11. Jun 2018 08:13
Re: Mailversandregel wenn Temp. >= 25 Grad - wie gehts ?
Hallo hr3
Vielen Dank. Hab die Rule eingebaut, restart von openhab2
Aber leider kommt keine Mail wegen der Termperatur
/var/log/openhab2/events.log
2018-06-11 10:38:55.416 [vent.ItemStateChangedEvent] - temperature_out changed from NULL to 26.0
Vielen Dank. Hab die Rule eingebaut, restart von openhab2
Aber leider kommt keine Mail wegen der Termperatur
/var/log/openhab2/events.log
2018-06-11 10:38:55.416 [vent.ItemStateChangedEvent] - temperature_out changed from NULL to 26.0
-
- Beiträge: 210
- Registriert: 23. Mai 2017 21:41
Re: Mailversandregel wenn Temp. >= 25 Grad - wie gehts ?
Code: Alles auswählen
var mailGesendet = false
rule "Temperature to high"
when
Item temperature_out changed
then
if (mailGesendet) {
if ((temperature_out.state as DecimalType).floatValue() < 25) {
logInfo("xxx","< 25")
mailGesendet = false}}
else {
if ((temperature_out.state as DecimalType).floatValue() >= 25) {
logInfo("xxx",">= 25")
// sendMail("vorname.nachname@domain.tld","Temperaturwarnung: >= 25","Temperatur >=25 Grad")
mailGesendet = true }}
end
rule "SystemStarted"
when
System started
then
temperature_out.postUpdate(26)
temperature_out.postUpdate(25)
temperature_out.postUpdate(24)
temperature_out.postUpdate(25)
end
Code: Alles auswählen
2018-06-11 11:01:47.504 [INFO ] [g.eclipse.smarthome.model.script.xxx] - >= 25
2018-06-11 11:01:47.510 [INFO ] [g.eclipse.smarthome.model.script.xxx] - < 25
2018-06-11 11:01:47.514 [INFO ] [g.eclipse.smarthome.model.script.xxx] - >= 25
Welche Version (openhab,Java) auf welcher Plattform setzt du den ein?
Ich hatte aus "Mailversand beim Systemreboot klappt." abgeleitet, dass die Mail aus openHAB gesendet wurde und da die Frage heißt "Mailversandregel wenn Temp. >= 25 Grad - wie gehts ?" und eine angedeutete rule gesendet wurde, bin ich davon ausgegangen, dass es um die rule geht und das Thema Mail-Versand aus openHAB gelöst ist. Aber anscheined geht noch garnichts und du suchst eine Totalbetreuung.
https://www.openhab.org/addons/actions/mail/
-
- Beiträge: 8
- Registriert: 11. Jun 2018 08:13
Re: Mailversandregel wenn Temp. >= 25 Grad - wie gehts ?
>Welche Version (openhab,Java) auf welcher Plattform setzt du den ein?
Linux, auf Raspberry PI mit Raspberian Lite + Updates + openhab2 2.3.0-1
Java: openjdk version "1.8.0_152"
Ich hab eine Rule die beim Systemrestart eine Mail schickt, damit wollte ich nur
sagen das der Mailversand aus einer Rule geht.
Aber nicht aus meiner Rule die eine mail schicken soll wenn Termp. über xx grad geht
Danke Dir
Linux, auf Raspberry PI mit Raspberian Lite + Updates + openhab2 2.3.0-1
Java: openjdk version "1.8.0_152"
Ich hab eine Rule die beim Systemrestart eine Mail schickt, damit wollte ich nur
sagen das der Mailversand aus einer Rule geht.
Aber nicht aus meiner Rule die eine mail schicken soll wenn Termp. über xx grad geht
Danke Dir
-
- Beiträge: 210
- Registriert: 23. Mai 2017 21:41
Re: Mailversandregel wenn Temp. >= 25 Grad - wie gehts ?
Dann geht es jetzt doch darum, ob bei dir die rule generell und/oder sendMail das Problem ist.
Nimm bitte mein letztes Beispiel und schau, was in openhab.log protokolliert wird. Dann aktiviere sendMail und sieh dir das log noch mal an. Poste die entsprechenden Einträge.
Ist die Mail-Adresse die gleiche wie in der funktionierenden sendMail Anweisung?
Nimm bitte mein letztes Beispiel und schau, was in openhab.log protokolliert wird. Dann aktiviere sendMail und sieh dir das log noch mal an. Poste die entsprechenden Einträge.
Ist die Mail-Adresse die gleiche wie in der funktionierenden sendMail Anweisung?
-
- Beiträge: 8
- Registriert: 11. Jun 2018 08:13
Re: Mailversandregel wenn Temp. >= 25 Grad - wie gehts ?
>was in openhab.log protokolliert wird. Dann aktiviere sendMail und sieh dir das log noch mal an. Poste die entsprechenden Einträge.
Rule:
Log:
2018-06-11 11:48:38.553 [ERROR] [ntime.internal.engine.RuleEngineImpl] - Rule 'Temperature to high': Could not cast 26.0 to org.eclipse.smarthome.core.library.types.DecimalType; line 12, column 8, length 36
>Ist die Mail-Adresse die gleiche wie in der funktionierenden sendMail Anweisung?
ja
Rule:
Code: Alles auswählen
var mailGesendet = false
rule "Temperature to high"
when
Item temperature_out changed
then
if (mailGesendet) {
if ((temperature_out.state as DecimalType).floatValue() < 25) {
logInfo("xxx","< 25")
mailGesendet = false}}
else {
if ((temperature_out.state as DecimalType).floatValue() >= 25) {
sendMail("vorname.nachname@domain.tld","Temperaturwarnung: >= 25","Temperatur >=25 Grad")
logInfo("xxx","=> 25")
mailGesendet = true }}
end
2018-06-11 11:48:38.553 [ERROR] [ntime.internal.engine.RuleEngineImpl] - Rule 'Temperature to high': Could not cast 26.0 to org.eclipse.smarthome.core.library.types.DecimalType; line 12, column 8, length 36
>Ist die Mail-Adresse die gleiche wie in der funktionierenden sendMail Anweisung?
ja
-
- Beiträge: 210
- Registriert: 23. Mai 2017 21:41
Re: Mailversandregel wenn Temp. >= 25 Grad - wie gehts ?
Hast du das Item temperature_out als Number definiert?
-
- Beiträge: 8
- Registriert: 11. Jun 2018 08:13
Re: Mailversandregel wenn Temp. >= 25 Grad - wie gehts ?
>Hast du das Item temperature_out als Number definiert?
nicht das ich wüsste
nicht das ich wüsste
-
- Beiträge: 210
- Registriert: 23. Mai 2017 21:41
Re: Mailversandregel wenn Temp. >= 25 Grad - wie gehts ?
"temperature_out changed from NULL to 26.0" muß ja irgenwo herkommen.