Gelöst: Im Notify Suchmuster einen Zahlenwert vergleichen

Begonnen von Benwish, 06 April 2015, 22:07:33

Vorheriges Thema - Nächstes Thema

Benwish

Hallo zusammen,

ich beschäftige mich seit ein paar Tagen mit FHEM und versuche nun, praktische Anwendungen umzusetzen. Dabei bin ich auf eine "kleine" Hürde gestoßen.
Folgenden Use-Case habe ich mir ausgeguckt:
Ich möchte eine Nachricht (am Anfang erstmal eine Email) erhalten, wenn meine Waschmaschine / Trockner fertig ist.

Das Ganze wollte ich wie folgt umsetzen: Ich habe einen HomeMatic Funk Zwischenstecker (HM-ES-PMSw1-Pl), welcher ja auch den aktuellen Stromverbrauch überträgt. Zusätzlich habe ich mir einen Dummy angelegt. Wenn nun der Stromverbrauch an dem Stecker z.B. über 100W steigt (Trockner ein), soll der Dummy den Wert on bekommen. Fällt der Stromverbrauch am Stecker unter 100W (Trockner aus) UND der Dummy ist auf on, soll eine Email geschickt und der Dummy auf off geschaltet werden.

Dazu hätte ich zwei Fragen:
1. Ist das Vorgehen in der Theorie erstmal sinnvoll bzw. überhaupt möglich? Oder sollte/müsste man das anders lösen?
2. Wie lege ich ein Notify an, welches triggert wenn das Reading "power" vom Funkstecker einen bestimmten Wert überschreitet? In den Tutorials habe ich bisher nur gesehen, dass ich das entsprechende Reading über "Funkstecker1:power" ansprechen könnte...

Über Anregungen/Hilfe würde ich mich freuen :)

Gruß,
Benjamin

franky08

Hallo, klar ist das möglich mit notify und ReadingsVal. Definiere dir ein notify und werte darin den Wert von Power aus.
In der Art:
define Lenovo_laden notify Lenovo {if (ReadingsVal("Lenovo","powerLevel",0)<15)
{fhem "set Ladegeraet_Lenovo on"}
}


Hier schaltet das Ladegerät auf on wenn der PowerLevel vom Lenovo unter 15% ist.
Den dummy kannst du im gleichen notify über setstate auf on setzen und wenn Power<100W ist über setstate auf off. Im WIKI und commandref findest du dazu einiges. Zur E-Mail findest du im WIKI auch etwas, das würde jetzt den Rahmen sprengen, da es etwas komplexer ist (sendemail oder exim4).

VG
Frank
Debian Bookworm auf HUNSN / Debian Bullseye auf 2.ter HUNSN F2F an 2x RaspiB
mit FHEM aktuell
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu, raspmatic_rpi3, HMIP-HCU1

KernSani

oder du verwendets DOIF, dass kann das auch ganz ohne perl.
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

Benwish

Hallo zusammen,

vielen Dank für die Tipps. :-) Damit hat es jetzt funktioniert. ReadingsVal() war das Stichwort, was mir gefehlt hat :) Jetzt klappt das Ganze, sogar schön per Push Notification. Super :)

mikerl67

Hallo KenSani,

ich habe mal eine blöde Frage. Wo trage ich den Code Schnipsel ein? In er fhem.cfg indem ich diese manuell editiere?


define Lenovo_laden notify Lenovo {if (ReadingsVal("Lenovo","powerLevel",0)<15)
{fhem "set Ladegeraet_Lenovo on"}
}

Danke für die Antwort & Gruß Michael

stromer-12

ich gebe meistens in der Eingabezeile:
define <mynotify> notify <trigger> {}
ein und bearbeite es anschliessen mit einen Klick auf das DEF.
FHEM (SVN) auf RPi1B mit HMser | ESPLink
FHEM (SVN) virtuell mit HMLAN | HMUSB | CUL

mikerl67