Telegram & mehrere Bedingungen

Begonnen von rhoffm34, 12 Oktober 2018, 23:11:04

Vorheriges Thema - Nächstes Thema

rhoffm34

Das Reading heißt brauchwasserTemp und der Wert ist: Low ...

aber auch wenn ich gaaaaanz genau hinschaue, sehe ich nix

CoolTux

Genau da steht ein korrekter Wert drin. Aber wo hast Du Deinen Fehler gesehen. Also den den Du gemeldet hast?
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

rhoffm34

Ich glaube ich habs...

Der Fehler den ich gesehen habe bezog sich auf ein anderes Reading.... ==> Richtig?

CoolTux

Richtig. Das war ein altes Reading.
Das kannst Du löschen

deletereading DEVICENAME READINGNAME


Und schon ne Idee wegen min und max Deiner Schwelle?
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

rhoffm34

ja sicher .... jetzt läuft´s.

Hab jetzt warningHi und warningLow und die entsprechend in das userReading eingesetzt. Fluppt

Wie geht´s weiter? Kann ich im userReading direkt mit telegram eine Nachricht senden?

CoolTux

Nein das machen wir so nicht.

Jetzt passt Du Dein notify an.



Brauchwasser:warnLevel:.(high|low) {  fhem("set teleBot message \@R_H BrauchwasserTemp zu niedrig: [Brauchwasser:temperature]") if( $EVTPART1 eq 'low' );
}


Erstmal zum spielen und vestehen. Muss kurz weg. Melde mich später noch mal.
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

rhoffm34

Alles klar....

Ich hab mal rumprobiert und es klappt.
Brauchwasser:brauchwasserTemp:.(high|low) { fhem("set teleBot message \@R_H BrauchwasserTemp zu niedrig: [Brauchwasser:temperature]") if( $EVTPART1 eq 'low' );}

Allerdings wenn ich unter oder über dem Grenzwert liege, bekomme ich bei jeder Temp änderung eine Nachricht...

CoolTux

Schau Dir die Attribute event-on* an.
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

rhoffm34

Probiere ich gerade aus... event-on-change-reading im device Brauchwasser.

Kann ich weitere Abfragen im notify starten? etwa so...:

Brauchwasser:TempWarning:.(high|low) { fhem("set teleBot message \@R_H BrauchwasserTemp zu niedrig: [Brauchwasser:temperature]") if( $EVTPART1 eq 'low' );}
VorlaufTemp:TempWarning:.(high|low) { fhem("set teleBot message \@R_H BrauchwasserTemp zu niedrig: [Brauchwasser:temperature]") if( $EVTPART1 eq 'low' );}

CoolTux

Jein. Du kannst mehr regex verwenden aber nicht so. Und du musst das dann das Device also Variable NAME bei der Bedingung mit einbauen.
Ich schreibe dir das gerne nachher kurz.
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

CoolTux


(Brauchwasser|VorlaufTemp):TempWarning:.(high|low) { fhem("set teleBot message \@R_H $NAME zu niedrig: [$NAME:temperature]") if( $EVTPART1 eq 'low' );}


Versuch mal so. Habe mich da an Dein letztes Beispiel gehalten. Schau bitte ob es so in Deine Umgebung passt und wenn nicht pass es an.
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

Brice

#41
Als Alternative, läuft bei mir seit mehreren Jahren völlig problemlos per notify aus dem Wiki:NewMailtime nach Zeitablauf erneut senden. Dies nutze ich für Meldungen per PushNachricht, die ich nicht permanent habe möchte, also

  • Überschreitung der Kühlschranktemperatur benöitige ich nur alle 8 Stunden
  • Überschreitung der Gefrierschranktemperatur nur alle 3 Stunden
  • Temperatur größer 32 Grad C auf dem Balkon nur alle 12 Stunden
  • ob etwas im Briefkasten eingeworfen wurden nur stündlich
  • etc

Dazu die notifys gem. der Beschreibung aus dem Wiki erstellen mit $main::NewMailtime<_Referenz> = time + <gewünschte Wiederholung>

Beispiel:
Temp_Gefrierschrank:temperature:.* {
if ((ReadingsVal("Temp_Gefrierschrank","temperature",0) >= -13.0) && (time > $main::NewMailtime_Gefrierschrank))
{
fhem ("set PushNachricht_iPhone message  'Temperatur-Alarm Gefrierschrank' 'ACHTUNG - die Gefrierschranktemperatur ist auf $EVTPART1 Grad gestiegen!");
fhem ("set PushBullet_Honor message 'Temperatur-Alarm Gefrierschrank' 'ACHTUNG - die Gefrierschranktemperatur ist auf $EVTPART1 Grad gestiegen!");
$main::NewMailtime_Gefrierschrank = time + 10800;
}
}

und mehrere subs in der 99_myUtils.pm, etwa

sub
myUtils_Initialize_Kuehlschrank($$)
{
my ($hash) = @_;
my $NewMailtime_Kuehlschrank = time;
}

sub
myUtils_Initialize_Gefrierschrank($$)
{
my ($hash) = @_;
my $NewMailtime_Gefrierschrank = time;

}sub
myUtils_Initialize_TempAussen($$)
{
my ($hash) = @_;
my $NewMailtime_TempAussen = time;
}


Ist zwar oldschool, aber vielleicht hilft es dir.

edit: Link korrigiert :)
FHEM auf RPi 4 4GB (Buster) | produktiv) CUL 868 für FS20 | S300TH | KS300 | Max!Cube als CUN 868 für TechemWZ | HM-MOD-RPI-PCB für HM | Z-Wave ZME_UZB1 | FRITZ!DECT 200 | HUE | Lightify | Echo Dot | WS3080