Reading Zerpflücken und Mail senden

Begonnen von jostmario, 02 Mai 2014, 12:47:34

Vorheriges Thema - Nächstes Thema

jostmario

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
Raspberry Pi  ---  HM-LAN ---  8X HM_HM_CC_RT_DN --- OWL+USB Strommesser    UVR1611

UliM

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-)
RPi4/Raspbian, CUL V3 (ca. 30 HomeMatic-devices), LAN (HarmonyHub, alexa etc.).  Fördermitglied des FHEM e.V.

jostmario

Hallo UliM,

mus das nicht so in der art sein

Log 3, "Puffertemperatur $EVTPART0,Puffertemperatur $EVTPART1,Puffertemperatur $EVTPART2";

Gruß Josty
Raspberry Pi  ---  HM-LAN ---  8X HM_HM_CC_RT_DN --- OWL+USB Strommesser    UVR1611

UliM

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
RPi4/Raspbian, CUL V3 (ca. 30 HomeMatic-devices), LAN (HarmonyHub, alexa etc.).  Fördermitglied des FHEM e.V.

Fritz R.

#4
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 ?

jostmario

#5
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
Raspberry Pi  ---  HM-LAN ---  8X HM_HM_CC_RT_DN --- OWL+USB Strommesser    UVR1611

jostmario

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

Raspberry Pi  ---  HM-LAN ---  8X HM_HM_CC_RT_DN --- OWL+USB Strommesser    UVR1611

schka17

Nicht %EVTPART0  sondern $EVTPART0, schon probiert?


Sent from my iPad using Tapatalk
M: Thinclient x64 Debian | CUL FS20, HMS100WD, HMS100TF, HMS100T, HMS100CO, S300, S555TH | OWServer DS1420, DS18B20, DS2408 | RFXCOM UVN128, THWR800, THGR228N,RTGR328, PCR800 |Jeelink PCA301 EC3000|CUNO+IR|HMLAN|HMUSB|CUL433 Somfy|mySensors|espEasy
S1:Raspberry mit BPM810, Jeelink EC3000

Puschel74

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
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

schka17

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
M: Thinclient x64 Debian | CUL FS20, HMS100WD, HMS100TF, HMS100T, HMS100CO, S300, S555TH | OWServer DS1420, DS18B20, DS2408 | RFXCOM UVN128, THWR800, THGR228N,RTGR328, PCR800 |Jeelink PCA301 EC3000|CUNO+IR|HMLAN|HMUSB|CUL433 Somfy|mySensors|espEasy
S1:Raspberry mit BPM810, Jeelink EC3000

Puschel74

#10
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  ;)
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

jostmario

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
Raspberry Pi  ---  HM-LAN ---  8X HM_HM_CC_RT_DN --- OWL+USB Strommesser    UVR1611

Puschel74

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
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

jostmario

Hallo Puschel,

ja Dank dir bin da noch blutiger Anfänger ich arbeite dran, werds mal so versuchen.

Gruß Josty
Raspberry Pi  ---  HM-LAN ---  8X HM_HM_CC_RT_DN --- OWL+USB Strommesser    UVR1611