Hauptmenü

Frostwarnung

Begonnen von weblint, 27 September 2015, 20:01:03

Vorheriges Thema - Nächstes Thema

weblint

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
RasPi an EnOcean/CUL. Using Fs20, EnOcean, HM in Testing

CoolTux

Was genau ist denn Dein Problem?
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

weblint

#2
@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...
RasPi an EnOcean/CUL. Using Fs20, EnOcean, HM in Testing

mw77

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
HM, HMIP, Shelly, und anderes

weblint

#4
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
RasPi an EnOcean/CUL. Using Fs20, EnOcean, HM in Testing

Hollo

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";;
FHEM 6.x auf RPi 3B Buster
Protokolle: Homematic, Z-Wave, MQTT, Modbus
Temp/Feuchte: JeeLink-Clone und LGW mit LaCrosse/IT
sonstiges: Linux-Server, Dreambox, "RSS-Tablet"

frank

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.
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

weblint

habe die Frostwarnung.cfg ausgelagert
RasPi an EnOcean/CUL. Using Fs20, EnOcean, HM in Testing

Tedious

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 ;)
FHEM auf Proxmox-VM (Intel NUC) mit 4xMapleCUN (433,3x868) und Jeelink, HUE, MiLight, Max!, SonOff, Zigbee, Alexa, uvm...

venuel79

#9
@ Tedious ,
zwar schon länger her, aber danke sagen tut ja niemanden weh!!! ;)
Klasse Hilfe von dir!


Gruß venuel79

Tedious

FHEM auf Proxmox-VM (Intel NUC) mit 4xMapleCUN (433,3x868) und Jeelink, HUE, MiLight, Max!, SonOff, Zigbee, Alexa, uvm...