Hallo,
ich komme nicht weiter - quäle mich schon siet 4 Tagen :-[
habe eine HM Wetterstation definiert
define Wetterstation CUL_HM 1FCC48
attr Wetterstation .devInfo 3F0100
attr Wetterstation .stc 70
attr Wetterstation actCycle 000:10
attr Wetterstation actStatus unknown
attr Wetterstation expert 2_full
attr Wetterstation firmware 1.4
attr Wetterstation model HM-WDS100-C6-O
attr Wetterstation peerIDs
attr Wetterstation room CUL_HM
attr Wetterstation serialNr KEQ0241402
attr Wetterstation subType THSensor
define FileLog_Wetterstation FileLog ./log/Wetterstation-%Y.log Wetterstation
attr FileLog_Wetterstation logtype text
attr FileLog_Wetterstation room CUL_HM
define ActionDetector CUL_HM 000000
attr ActionDetector actCycle 600
attr ActionDetector event-on-change-reading .*
attr ActionDetector room CUL_HM
define FileLog_ActionDetector FileLog ./log/ActionDetector-%Y.log ActionDetector
attr FileLog_ActionDetector logtype text
attr FileLog_ActionDetector room CUL_HM
Die Werte werden dann so dargestellt
Wetterstation T: 6.8 H: 88 W: 16.9 R: 4.13 IR: 0 WD: 30 WDR: 67.5 S: 246 B: 19
Die readings sehen so aus
Readings
Activity unknown 2013-12-29 14:30:35
brightness 34 2013-12-29 14:39:41
humidity 88 2013-12-29 14:39:41
isRaining 0 2013-12-29 14:39:41
rain 4.13 2013-12-29 14:39:41
state T: 7 H: 88 W: 13.3 R: 4.13 IR: 0 WD: 180 WDR: 67.5 S: 248 B: 34 2013-12-29 14:39:41
sunshine 248 2013-12-29 14:39:41
temperature 7 2013-12-29 14:39:41
windDirRange 67.5 2013-12-29 14:39:41
windDirection 180 2013-12-29 14:39:41
windSpeed 13.3 2013-12-29 14:39:41
Nun möchte ich die Werte einzeln haben - dazu habe ich dann einen dummy angelegt
define Wettertemp dummy
attr Wettertemp room CUL_HM
und mit einem notify wollte ich dann z.B. die Temperatur einzeln darstellen
define WettertempNotify notify Wetterstation:temperature set Wettertemp $EVTPART1
aber dass funktioniert leider nicht.
Wer kann mir da weiterhelfen ?
Gruß Frank
warum möchtest du dir werte einzeln?
wenn es dir um die darstellung geht schau dir mal readingsGroup an.
kopien in dummys sind keine gute lösung.
gruss
andre
... weil ich sie einzeln einer EIB Gruppenadresse zuordnen will um sie dann auf den Bus zu schicken.
Den dummy nutze ich nur zu Testzwecken.
EDIT: Sooo ich habe die Lösung ;D
define WettertempNotify notify Wetterstation:temperature.* set Wettertemp $EVTPART1
Die Lösung war .* hinter dem Reading anzugeben !!!! - so eine sch...ße, dat steht auch nirgens drin >:(
Gruß Frank
Hallo Frank,
erst einmal schließe ich mich Andre an - zumindest sehe ich den Vorteil nicht, oder es ist mir nicht klar - wo du hin willst.
Aber die Aufgabe würde ich folgendermaßen lösen:
du kannst ein notify für jedes Reading machen oder nur das state notify abfangen(da ist alles drin) und die dummys füllen. Zweiteres sollte deutlich schöner und schneller sein.
define Wetter_Temp dummy
define Wetter_Hum dummy
define Wetter_Bright dummy
attr Wetter_Temp room CUL_HM,wetter,dummy
attr Wetter_Hum room CUL_HM,wetter,dummy
attr Wetter_Bright room CUL_HM,wetter,dummy
attr FileLog_Wetterstation room CUL_HM,wetter,sensor
# in room kannst du eine Liste von Räumen eingeben und damit fix im web-interface Gruppen definieren. Ist für den Ablauf aber wurscht, soll nur ein Tip sein
define WettertempNotify notify Wetterstation:.*T:{\
my($T,$H,$W,$R,$IR,$WD,$WDR,$S,$B) = ($1,$2,$3,$4,$5,$6,$7,$8,$9) \
if ($EVTPART1 =~ m/T: (.*) H: (.*) W: (.*) R: (.*) IR: (.*) WD: (.*) WDR: (.*) S: (.*) B: (.*)/);;\
fhem "set Wetter_Temp $T;;"\
fhem "set Wetter_Hum $H;;"\
fhem "set Wetter_Bright $B;;"\
Log 1,"writing weatherData $EVTPART1 ";;\
}
die anderen Werte kannst du sicher selbst ergänzen - das log ist nur zum testen - schreibt ins generelle Logfile
Gruss Martin
Hallo Martin,
danke für deine ausführliche Antwort.
das mit dem dummy war nur zum testen.
Ich nutze fhem nur als Gateway um die Wetterdaten aufbereitet an einzelne Gruppenadressen des EIB Busses zu übergeben.
Die Räume sind egal wiel das Webinterface nicht genutzt wird.
Eibd läuft übers Lan und funktioniert auch.
Die ganzen Logs will ich dann auch abschalten - dass geschied dann im EIB.
Gruß Frank
Hallo Martin,
ich habe deine Progammzeilen zum testen mal ohne Änderung übernommen - aber die Werte werden nicht in die Dummys geschrieben :-[
Gruß Frank
define WettertempNotify notify Wetterstation:.*T:{\
my($T,$H,$W,$R,$IR,$WD,$WDR,$S,$B) = ($1,$2,$3,$4,$5,$6,$7,$8,$9) \
if ($EVTPART1 =~ m/T: (.*) H: (.*) W: (.*) R: (.*) IR: (.*) WD: (.*) WDR: (.*) S: (.*) B: (.*)/);;\
fhem "set Wetter_Temp $T";;\
fhem "set Wetter_Hum $H";;\
fhem "set Wetter_Bright $B";;\
Log 1,"writing weatherData $EVTPART1 ";;\
}
... DANKE ! :)