Hallo fhem Gemeinde,
ich habe folgende Idee. Bei absinken der Außentemperatur <3°C möchte ich gewarnt werden. Ich habe einen Aussentemperatursensor der mir auch brav die Temperatur übermittelt.
Ich brauche einmal von euch einen Anschub wie ich bei erreichen der <3°C von fhem eine Meldung oder eine Warnung hin bekomme. Alle Beispiele die ich zum Thema Temperaturwarnung gefunden habe lösen leider nicht mein Problem. :(
Vielen Dank im Voraus,
Klaus
Was genau ist denn Dein Problem?
@CoolTux
siehe oben
Folgende Config habe ich hierzu angelegt
#Temperaturwarnung
define Frost notify EnO_4BS_0181B348 {\
my $alarm;;
my $now=sprintf("%%02d:%%02d",$hour,$min);;\
if ( ReadingsVal(" EnO_4BS_0181B348","temperature","keinWert") lt 0 ) {\
$alarm=on;;\
} else {\
$alarm=off;;
}
if (($alarm eq "on") && (($now gt 19:00) || ($now lt 06:00))) {\
fhem("set wz_Lampe_TV on");;
}\
}
Allerdings meckert fhem:
ERROR:
Unknown command my, try help. Unknown command }, try help. Unknown command if, try help. Unknown command } }, try help.
Ich finde allerdings nichts verwerfliches in meinem Code...
Mein Doif dazu sieht so aus
define TempWarn DOIF ([THGR328_81_5:temperature] < 3.0) (set TempWarnung on) DOELSEIF ([THGR328_81_5:temperature] > 3.0) (set TempWarnung off)
THGR328_81_5 ist mein Temperatur Sensor und TempWarnung ist ein dummy.
Gruß Markus
Hey Markus,
habe es auf meinen EnOcean angepasst - fhem hat es ohne zu meckern "geschluckt" Scheint ok zu sein.
Vielen Dank!
So sieht es bei mir aus:
#TemperaturWatchdog
define TempWarn DOIF ([EnO_4BS_0181B348:temperature] < 3.0) (set wz_Lampe_TV on) DOELSEIF ([EnO_4BS_0181B348:temperature] > 3.0) (set wz_Lampe_$
attr TempWarn room Wettervorhersage,Wohnzimmer
Zitat von: weblint am 27 September 2015, 20:21:05
... my $alarm;;
...Unknown command my, try help. ...
...Ich finde allerdings nichts verwerfliches in meinem Code...
In der Fehlermeldung steht doch drin, was FHEM stört. ???
Eine Variable sollte bei erstmaliger Definition auch entsprechend initialisiert werden.
Zumindest sowas wie
my $alarm="off";;
ZitatEine Variable sollte bei erstmaliger Definition auch entsprechend initialisiert werden.
muss aber nicht.
ZitatIch finde allerdings nichts verwerfliches in meinem Code...
wenn du schon in der fhem.cfg editieren musst, dann mach auch an
jedem zeilenende ein "\". beim letzten natürlich nicht.
habe die Frostwarnung.cfg ausgelagert
Ich hab das ein bisschen anders gelöst. Ich habe Pushbullet integriert und lasse mir eine Pushnachricht aufs Handy (Tablet, Rechner, Whatever...) schicken.
#PushBullet einrichten
define Push Pushbullet ANGABEDERID
attr Push defaultTitle FHEMServer
#Pushnachrichten definieren
#Frostwarner
define Frost dummy
attr Frost event-on-change-reading state
define Frostwarner DOIF ([LaCrosse_12:temperature] <2)(set Frost on) DOELSEIF ([LaCrosse_12:temperature] >2) (set Frost off)
define Frost_Push notify Frost:on set Push message 'Frostwarnung - Eis kratzen und Glättegefahr'
#Kühlschrank
define Fridge dummy
attr Fridge event-on-change-reading state
define FridgeWarner DOIF ([LaCrosse_2A:temperature] <10)(set Fridge on) DOELSEIF ([LaCrosse_2A:temperature] >10) (set Fridge off)
define Fridge_Push notify Fridge:off set Push message 'Achtung - Der Kühlschrank ist ausgefallen!!!!'
Ub das jetzt die eleganteste und sauberste Lösung ist? Keine Ahnung - aber es funktioniert ;)
@ Tedious ,
zwar schon länger her, aber danke sagen tut ja niemanden weh!!! ;)
Klasse Hilfe von dir!
Gruß venuel79
Gerne :)