Mailversandregel wenn Temp. >= 25 Grad - wie gehts ?

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

lllll
Beiträge: 8
Registriert: 11. Jun 2018 08:13
Answers: 0

Mailversandregel wenn Temp. >= 25 Grad - wie gehts ?

Beitrag von lllll »

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

hr3
Beiträge: 210
Registriert: 23. Mai 2017 21:41
Answers: 0

Re: Mailversandregel wenn Temp. >= 25 Grad - wie gehts ?

Beitrag von hr3 »

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
Nur ein Beispiel. Das zurücksetzen kann natürlich auch nach anderen Bedingungen erfolgen, z.B. einmal am Tag oder wenn die Temperatur für länger als xxx unter 25 gelegen hat usw.

lllll
Beiträge: 8
Registriert: 11. Jun 2018 08:13
Answers: 0

Re: Mailversandregel wenn Temp. >= 25 Grad - wie gehts ?

Beitrag von lllll »

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

hr3
Beiträge: 210
Registriert: 23. Mai 2017 21:41
Answers: 0

Re: Mailversandregel wenn Temp. >= 25 Grad - wie gehts ?

Beitrag von hr3 »

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
Das zumindest funktioniert!

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/

lllll
Beiträge: 8
Registriert: 11. Jun 2018 08:13
Answers: 0

Re: Mailversandregel wenn Temp. >= 25 Grad - wie gehts ?

Beitrag von lllll »

>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

hr3
Beiträge: 210
Registriert: 23. Mai 2017 21:41
Answers: 0

Re: Mailversandregel wenn Temp. >= 25 Grad - wie gehts ?

Beitrag von hr3 »

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?

lllll
Beiträge: 8
Registriert: 11. Jun 2018 08:13
Answers: 0

Re: Mailversandregel wenn Temp. >= 25 Grad - wie gehts ?

Beitrag von lllll »

>was in openhab.log protokolliert wird. Dann aktiviere sendMail und sieh dir das log noch mal an. Poste die entsprechenden Einträge.


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
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

hr3
Beiträge: 210
Registriert: 23. Mai 2017 21:41
Answers: 0

Re: Mailversandregel wenn Temp. >= 25 Grad - wie gehts ?

Beitrag von hr3 »

Hast du das Item temperature_out als Number definiert?

lllll
Beiträge: 8
Registriert: 11. Jun 2018 08:13
Answers: 0

Re: Mailversandregel wenn Temp. >= 25 Grad - wie gehts ?

Beitrag von lllll »

>Hast du das Item temperature_out als Number definiert?

nicht das ich wüsste

hr3
Beiträge: 210
Registriert: 23. Mai 2017 21:41
Answers: 0

Re: Mailversandregel wenn Temp. >= 25 Grad - wie gehts ?

Beitrag von hr3 »

"temperature_out changed from NULL to 26.0" muß ja irgenwo herkommen.

Antworten