[Gelöst]Xiaomi Wassersensor notify

Begonnen von Sebastian84, 17 Juli 2020, 01:06:36

Vorheriges Thema - Nächstes Thema

Sebastian84

guten Abend
Ich möchte für mein Xiaomi Wassersensor
Ein Notify erstellen.
Er soll mich über Wasseraustritt informieren
Und wenn dann kein Wasser mehr da ist auch informieren.

   Wassersensor_Spuelmaschine:water.* set pushmsg msg 'Spuelmaschine '!!!!Wasser tritt aus!!!!' 'sebastian' 0 'bike'

   


Aber jetzt bekomme ich jede Stunde wenn der Sensor sich aktualisiert ne Nachricht das Wasser austritt. Was muss ich da ändern?

flummy1978

Holla,

Du hast eine grobe Kelle für die Treffer genommen, demnach gibts auch den groben Fang:

Wassersensor_Spuelmaschine:water.*

Du musst einen Wert nehmen, den der Senser MIT wasser tatsächlich annimmt, also zB:


Wassersensor_Spuelmaschine:water:.* { if ($EVTPART1 ne "0") { fhem ("set pushmsg msg Spuelmaschine !!!!Wasser tritt aus!!!!"); } }


Erklärung: Sollte der Wert von Reading NICHT 0 sein, dann soll erst die Meldung kommen.

0 => steht für den Wert der bei der normalen Aktualisierung kommt (also wenn trocken ist, wenn er dann 0 X oder Y  nimmt , musst Du halt diesen Wert nehmen.

Ungetestet ... und sicher nicht die allerbeste Lösung, aber für mich funktionell und daher auch mein Favorit ;)

Viele Grüße
Andreas

Beta-User

Vermutlich sollte man den Trigger gleich enger wählen, dann braucht man den Wechsel auf die Perl-if-Ebene nicht (und auch kein IF...). Bitte im Zweifel den Event-Monitor nutzen, um die passende "regex" zu finden!

Weitere Anmerkungen zu solchen Fällen:
- Man kann das Wiederholen von immergleichen Events unterbinden (event-onchange-reading & Co). Ist hier uU. nicht ganz optimal, weil man eventuell ein Lebenszeichen haben will.
- da der timestamp aber auch bei event-on... aktualisiert wird, könnte man einen Ausfall auch anders detektieren (z.B. ReadingsWatcher (?)).
- Einen Statuswechsel könnte man mit OldReadings feststellen. Auch das bedarf dann weiterer Konfiguration;
- Schließlich könnte man auch einen userReadings-Eintrag machen (trigger nicht vergessen!), um Statuswechsel über ein separates Reading abzubilden;
- Benni's "globaler Fenster-offen"-Code wäre auch so eine Sache, die man hier anpassen könnte für wiederholte Meldungen, Entwarnungen usw.. Ist aber vermutlich für den Einstieg zu steil.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

Sebastian84

#3
   Wassersensor_Spuelmaschine:water:.* { if ($EVTPART1 ne "0") { fhem ("set pushmsg msg Spuelmaschine !!!!Wasser tritt aus!!!!"); } }   
Da bekomme ich die Meldung vom Sensor als naricht  an und wieder aus.     Wassersensor_Spuelmaschine:state.* set pushmsg msg Spuelmaschine !!!!Wasser tritt aus!!!!
Müsste ich doch nur das von State Ausgabe 0 für aus und 1 für an ersetzen im code für state?. event-on-change-reading hab ich mit .* hinterlegt.

MadMax-FHEM

Was spricht dagegen sich das notify vom Eventmonitor "generieren" zu lassen!?
https://wiki.fhem.de/wiki/Event_monitor
(markieren, create/modify -> fertig)


Ansonsten sollte das hier gehen:


Wassersensor_Spuelmaschine:water.* { if($EVTPART1 eq "1") { fhem("set pushmsg msg Spuelmaschine !!!!Wasser tritt aus!!!!"); } } 


Oder vermutlich auch:


Wassersensor_Spuelmaschine:water:.1 set pushmsg msg Spuelmaschine !!!!Wasser tritt aus!!!! 


Und wenn event-on-change-reading (und sonst KEIN event-on-...) gesetzt ist wie geschrieben, dann sollte immer nur eine Nachricht kommen, wenn "water" von 0 auf 1 "springt"...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Sebastian84

     Wassersensor_Spuelmaschine:water:.1 set pushmsg msg Spuelmaschine !!!!Wasser tritt aus!!!! 


DAMIT GEHT ES SUPER
Wie bekomme ich den pushover  Klingelton davon auf den
Bike Klingelton gewechselt?

MadMax-FHEM

Zitat von: Sebastian84 am 20 Juli 2020, 12:29:43
DAMIT GEHT ES SUPER

Freut mich!

Zitat von: Sebastian84 am 20 Juli 2020, 12:29:43
Wie bekomme ich den pushover  Klingelton davon auf den
Bike Klingelton gewechselt?

Äh: keine Ahnung. Nutze kein pushover...

Besser im paasenden Unterforum einen Thread aufmachen...
...oder falls es am Handy einstellbar ist: dann in einem Handy-Forum ;)

EDIT: und wäre schön, ein [gelöst] vorne dran zu pappen, danke.

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)