FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Diamond_72 am 09 Mai 2018, 10:28:00

Titel: Rekordtemperatur aus Log auslesen und Info
Beitrag von: Diamond_72 am 09 Mai 2018, 10:28:00
Hallo zusammen,

ich lese zurzeit das Raumklima von meinem Wintergarten über einen HM-TC-IT-WM-W-EU Thermostat aus und lasse mir die Werte in einem  Graphen anzeigen.
Nun möchte ich gerne ein Szenario bilden, wenn zum Beispiel eine vordefinierte Temperatur erreicht oder vielleicht auch wenn eine Rekordtemperatur erreicht wird, dass ich per E-Mail oder per SMS benachrichtigt werde. Die ausgelesenen Daten werden ganz normal in logs geschrieben. Eine Datenbankanbindung habe ich nicht.
Gibt es eine Möglichkeit mein Vorhaben bedienerfreundlich in FHEM darzustellen?

Über eure Rückmeldungen würde ich mich freuen.

Danke!
Titel: Antw:Rekordtemperatur aus Log auslesen und Info
Beitrag von: MadMax-FHEM am 09 Mai 2018, 10:35:49
Du kannst doch direkt ein Notify anlegen, welches auf measured-temp reagiert:

EventMonitor öffnen (Filter auf das Gerät/Kanal setzen), warten bis der Temperatur-Event kommt, Zeile markieren und create/modify.

Dort dann prüfen, ob ein von dir gewünschtes Kriterium erfüllt ist und Nachricht schicken.

Zum Senden von eMail: https://wiki.fhem.de/wiki/E-Mail_senden
(und im Forum bestimmt 1000 Beiträge)

SMS nutze ich nicht, ich nehme hierfür Telegram: https://wiki.fhem.de/wiki/Telegram

Wenn du nicht direkt auf eine "Überschreitung" reagieren willst, sondern eine Tendenz etc. dann vielleicht noch das Statistics-Modul dazu nehmen: https://fhem.de/commandref_DE.html#statistics

EDIT: Bedienerfreundliche Darstellung? Von was? Dass ein Rekordwert da war und wie hoch er war? Wert mittels userReadings ins gleiche Gerät "schreiben" oder "im" Notify in einen "dafür zuständigen" Dummy schreiben und anzeigen lassen (wie du auch andere Werte anzeigen lässt).

Gruß, Joachim
Titel: Antw:Rekordtemperatur aus Log auslesen und Info
Beitrag von: gloob am 09 Mai 2018, 10:37:05
Speichere dir doch einfach bei jeder Ändeung der Temperatur den Wert über ein Notify in einem Reading. Anschließend kannst du das Reading immer mit dem neuen Wert vergleichen. Wenn der neue Wert größer ist als der bisherige, lässt du dich informieren.

Pseudocode:
if (neue Temperatur > maxWert)
{
       maxWert = neue Temperatur
       sende Email
}
Titel: Antw:Rekordtemperatur aus Log auslesen und Info
Beitrag von: Diamond_72 am 09 Mai 2018, 14:17:32
Mhh komme hier bei dem Wizard nicht weiter. Wie kann ich nun definieren, wann was geschehen soll?
Titel: Antw:Rekordtemperatur aus Log auslesen und Info
Beitrag von: MadMax-FHEM am 09 Mai 2018, 17:43:09
Das so erstellte Notify wird ausgelöst/"bearbeitet", wenn ein Event mit measured-temp gefeuert wird.

Da kannst du nun eigene Dinge tun: Wert in Dummy oder eigenes Reading speichern/schreiben und vergleichen oder oder oder und nat. bei bestimmten Bedingungen eine Mail/SMS versenden.

Du kannst im Notify fhem Befehle direkt nutzen (dann statt der "vorbelegten" { } oder mittels der "Funktion" fhem("fhembefehl")  ) oder mittels { } auch perl Code (also zwischen die Klammern).
Bei umfangreicherem Code empfiehlt sich das dann in eine Sub in myUtils auszulagern...

Zu Beginn (und auch für Subs zum "Debuggen") evtl. "nur" mal eine Logausgabe: Log3(undef, 3, "Notify getriggert")

Wenn du genauer beschreibst was genau du willst kann man (sicher) besser helfen...

Etwas kürzer, da grad nur Handy...

Gruß, Joachim
Titel: Antw:Rekordtemperatur aus Log auslesen und Info
Beitrag von: Diamond_72 am 18 Mai 2018, 12:48:35
Ich möchte gerne ein Eingabefeld in FHEM einrichten in dem ich eine Temperatur eintragen kann. Das notify soll nun prüfen, wenn die measured-temp gößer als den Wert aus dem Eingabefeld ist. Wenn ja, soll er mir per Whattsapp (ziehe ich vor Telegram) eine Nachricht mit der aktueller measured-temp zuschicken. Zusätzlich soll das notify die measured-temp auf eine Rekordtemperatur prüfen. Heißt, wenn er eine max (+) Temperatur erreicht oder max (-) Temperatur erreicht hat, soll ebenfalls eine gesonderte Nachricht per Whatsapp verschickt werden. Das Whatsapp Modul selber zu konfigurieren wird sicherlich nicht das Problem sein, da es ja dazu reichlich Tutorials gibt. Allerdings bin ich mir da nicht sicher, ob dass versenden über den Whatsappdienst so kostenlos ist?!

Ich möchte über die Temperaturen im Wintergaten informiert werden! :)
Titel: Antw:Rekordtemperatur aus Log auslesen und Info
Beitrag von: MadMax-FHEM am 18 Mai 2018, 14:25:17
Zitat von: Diamond_72 am 18 Mai 2018, 12:48:35
Ich möchte gerne ein Eingabefeld in FHEM einrichten in dem ich eine Temperatur eintragen kann. Das notify soll nun prüfen, wenn die measured-temp gößer als den Wert aus dem Eingabefeld ist. Wenn ja, soll er mir per Whattsapp (ziehe ich vor Telegram) eine Nachricht mit der aktueller measured-temp zuschicken. Zusätzlich soll das notify die measured-temp auf eine Rekordtemperatur prüfen. Heißt, wenn er eine max (+) Temperatur erreicht oder max (-) Temperatur erreicht hat, soll ebenfalls eine gesonderte Nachricht per Whatsapp verschickt werden. Das Whatsapp Modul selber zu konfigurieren wird sicherlich nicht das Problem sein, da es ja dazu reichlich Tutorials gibt. Allerdings bin ich mir da nicht sicher, ob dass versenden über den Whatsappdienst so kostenlos ist?!

Ich möchte über die Temperaturen im Wintergaten informiert werden! :)

Was ist nun noch offen?
Was konkret willst du noch wissen?

Eingabefeld wüsste ich nun nicht wie...
...man kann einen Dummy auf einen Wert setzen und dann im Notify auf measured-temp abfragen und schicken (oder nicht).
(set ist dann ohne save also ohne "rotes Fragezeichen")

...man kann ein userattr setzen und dann das abfragen im Notify und dann schicken (oder nicht)...
(danach ist ein save notwendig, sonst ist nach einem Neustart der Wert weg / es kommt ein rotes Fragezeichen: config-Änderung)

Bzgl. Max/Min hab ich nicht genau verstanden...

Ob das Senden kostenlos ist: keine Ahnung (nutze Telegram)...

Gruß, Joachim