Hallo
bekomme von meiner Heizungssteuerung UVR1611 ein reading das so ausschaut
2014-05-02_12:15:56 myuvr_messuebersicht UVR1611: 73.4 71.0 72.9 71.5 54.8 28.8 25.8 13.9 33.6 - - 1
2014-05-02_12:20:56 myuvr_messuebersicht UVR1611: 73.4 70.9 72.8 71.5 54.7 28.7 25.8 13.7 33.1 - - 1
2014-05-02_12:25:56 myuvr_messuebersicht UVR1611: 73.4 71.0 72.9 71.6 54.6 28.8 25.8 13.9 32.8 - - 1
2014-05-02_12:30:56 myuvr_messuebersicht UVR1611: 73.4 70.8 72.8 71.5 54.5 28.8 25.7 13.5 32.4 - - 1
2014-05-02_12:35:56 myuvr_messuebersicht UVR1611: 73.4 70.8 72.8 71.4 54.4 28.8 25.7 13.6 32.2 - - 1
2014-05-02_12:40:36 myuvr_messuebersicht UVR1611: 73.4 70.9 72.7 71.4 54.4 28.8 25.5 13.9 32.1 - - 1
2014-05-02_12:40:56 myuvr_messuebersicht UVR1611: 73.4 70.8 72.7 71.4 54.4 28.8 25.5 13.9 32.1 - - 1
hätte gerne eine E-Mail wenn die 73,4 Grad Puffertemperatur unter 55 grad fallen.
wie kann ich das lösen ?
so kann ich schon eine Testmail senden um 14:00
*14:00:00 {
DebianMail('xxxxx@gmx.de','Subject','Text');
}
Gruß Josty
Hi,
bau mal ein
Log 3, "$EVTPART0, $EVTPART1, $EVTPART2";
usw. in Dein notify bzw. at ein.
Einmal ausführen, dann in Dein logfile schauen.
In den EVTPARTs stehen jeweils die Texte/Werte, nachdem der event nach Leerzeichen aufgesplittet wurde - das passiert automatisch.
Wenn ich's richtig sehe müsstest Du $EVTPART0 nehmen können und als Parameter an Dein Mailscript übergeben à la
DebianMail('xxxxx@gmx.de',"Puffertemperatur $EVTPART0",'Text');
(doppelte Anführungszeichen verwenden!)
=8-)
Hallo UliM,
mus das nicht so in der art sein
Log 3, "Puffertemperatur $EVTPART0,Puffertemperatur $EVTPART1,Puffertemperatur $EVTPART2";
Gruß Josty
Jain :)
Bei dem Log-Beispiel geht's ja nur darum rauszufinden, das wievielte EVTPART denn den gewünschten Wert enthält. Welche Texte Du dazwischenscreibst ist wurscht - nur ein Test eben.
Wenn Du anschließend Dein DebianMail anpasst muss natürlich das Gewünschte drinstehen.
Gruß, Uli
Hallo,
@jostmario
Ich hoffe Dein problem ist gelöst.
Ich hätte mal eine Frage, wie erzeugst Du das Reading aus der UVR1611, aus der html Seite des Bootloggers oder direkt abgefragt ?
Hallo
@UVR1611
habs erst eben gesehen rufe das so auf wie hier beschrieben
http://forum.fhem.de/index.php?topic=14992.0
bin auch zimlich neuling was fhem angeht.
er ruft im Prinzip diese seite ab
http://192.168.4.212/can.htm?blaB=1
bzw diese
http://192.168.4.212/580400.htm
musste mit deiner IP ersetzen
Gruß Josty
Hallo
bekomme die Mail irgendwie nicht hin
so hab ich es in der Fhem.cfg
define StatusMailTH at *13:00:00 {\
my $temp=ReadingsVal("Heizung_Alica","measured-temp", "--");;\
my $Puffertemp=ReadingsVal("myuvr_messuebersicht","UVR1611 %EVTPART0", "--");;\
DebianMail('xxx@gmx.de',\
'Fhem Temperaturen',\
'Zimmertemperatur: '.$temp. ' Puffertemperatur: '.$Puffertemp);;\
}
so siet das Logfile aus
2014-10-22_12:35:20 myuvr_messuebersicht UVR1611: 64.5 58.3 40.1 40.4 39.8 29.3 58.5 24.2 20.6 5.4 44.3 - 22.0 38.3 21.8 1
2014-10-22_12:40:20 myuvr_messuebersicht UVR1611: 64.5 58.2 40.1 40.4 40.0 29.3 58.5 24.2 20.7 5.4 46.3 - 22.0 38.3 21.8 1
2014-10-22_12:45:20 myuvr_messuebersicht UVR1611: 64.5 58.1 40.0 40.5 39.9 29.3 58.3 24.2 20.6 5.6 46.2 - 22.0 38.1 21.8 1
2014-10-22_12:50:20 myuvr_messuebersicht UVR1611: 64.5 58.1 39.9 40.7 39.9 29.3 58.3 24.2 20.5 5.4 45.3 - 21.9 38.7 21.7 1
2014-10-22_12:55:20 myuvr_messuebersicht UVR1611: 64.5 58.1 39.9 40.9 40.0 29.3 58.3 24.2 20.5 5.9 44.4 - 21.9 40.0 21.7 1
Hätte quasi gerne den Wert 64,5 per Mail zugeschickt bekommen
in der Mail steht aber als Betreff einfach nur "UVR1611 %EVTPART0"
es sollte aber der Wert als Text da stehen und als Betreff z.b. Puffertemperatur Alarmmeldung
später wollte ich dann noch das er eine Warnmeldung schickt wenn die Temperatur auf unter 50 grad abfällt.
Kann mir da einer Helfen ?
Gruß Jost Mario
Nicht %EVTPART0 sondern $EVTPART0, schon probiert?
Sent from my iPad using Tapatalk
Hallo,
Zitat von: schka17 am 22 Oktober 2014, 22:07:00
Nicht %EVTPART0 sondern $EVTPART0, schon probiert?
Sent from my iPad using Tapatalk
Und selbst das macht mMn in einem ReadingsVal keinen Sinn - abgesehen das der Code direkt aus der fhem.cfg kommt ::).
my $Puffertemp=ReadingsVal("myuvr_messuebersicht","UVR1611 %EVTPART0", "--");;\
sollte eigentlich so aussehen:
my $Puffertemp=ReadingsVal("<Name_des_Device>","<Name_des_Readings>", "--");;\
Das findet man entweder in der Detailansicht vom Device oder im EventMonitor.
Da das aber Grundlagen sind die
a) im Einsteiger.pdf
b) in der commandref
c) im Wiki
d) im Forum und
e) im angepinnten Beitrag ganz oben
erwähnt werden hatte ich bisher von einer Antwort abgesehen.
Grüße
Hast natürlich recht, das macht absolut keinen Sinn, nur bei notify. war ein bischen flüchtig beim Lesen und hab nur das gesehen wo ich am Beginn auch immer wieder reingefallen bin. Und in der fhem.cfg mache ich sowie nichts, wozu auch.
Sent from my iPad using Tapatalk
Hallo,
Zitatdas macht absolut keinen Sinn, nur bei notify.
Nein.
Auch bei einem notify hat in einem ReadingsVal $EVTPARTx nichts verloren
(klappt das überhaupt ??? )Wenn ich ReadingsVal verwende will ich explizit den Wert eines Readings in einem Device abfragen.
$EVTPARTx brauch ich aber nichtmehr zuweisen - das macht mWn Rudi bereits (in der fhem.pl, da kann ich mich aber auch täuschen) und stellt das für uns in dieser einfachen Form zur Verfügung.
Entweder werte ich $EVTPARTx vom auslösenden Device aus
ODER
ich hole mir das Reading per ReadinsVal aus egal welchem Device
- das muss nicht das auslösende sein da ich immer und überall Zugriff auf jedes Reading von jedem Device habe.
Aber der zugehörige Syntax ist ja nicht erst seit heute zu finden.
Grüße
Edith: Grad nochmal überflogen.
In einem at ist das "auslösende Device" eine Uhrzeit - da macht $EVTPART natürlich sehr viel Sinn ::)
Edith2: @jostmario - lösch mal deine Mailadresse raus ;)
Hallo
habe es jetzt soweit hinbekommen zwar noch keine Mail aber ne Steckdose die an geht.
define warnlampe notify (myuvr_messuebersicht:UVR1611.*) \
{ \
if ($EVTPART1 < 66) \
{ \
{Log 1, "$EVTPART0, $EVTPART1, $EVTPART2"} \
{fhem ("set Steckdose on")} \
}
Gruß Josty
Hallo,
das ist auch kein at sondern ein notify.
Damit lässt sich auch $EVTPARTx auswerten.
Ich würd das aber so schreiben:
myuvr_messuebersicht:UVR1611.* {
if ($EVTPART1 < 66) {
fhem(Log 1, "$EVTPART0, $EVTPART1, $EVTPART2");
fhem("set Steckdose on");
}
}
NICHT für die fhem.cfg sondern NUR für das DEF gedacht - und mit Sicherheit noch viel zu viele Klammern drinnen.
Nun solltest du im Logfile auch brav die Einträge sehen für $EVTPART0, $EVTPART1, $EVTPART2 sobald das Event ankommt UND $EVTPART1 kleiner 66 ist.
Grüße
Hallo Puschel,
ja Dank dir bin da noch blutiger Anfänger ich arbeite dran, werds mal so versuchen.
Gruß Josty