Batterie Überwachung mit telegram, Homematic und HUE

Begonnen von rhoffm34, 11 März 2021, 19:04:02

Vorheriges Thema - Nächstes Thema

rhoffm34

Hallo zusammen, ich möchte gerne alle Batteriezustände überwachen und wenn eine Batterie leer ist eine Meldung über Telegram erhalten.

Bisher gefunden habe ich diesen Code:

DOIF ([+[6]:00] and [?#"":battery:$_ ne "ok"]) ((msg mail meine@email.de 2 |FHEM: Batteriewarnung| Hallo,\n\n [@"":battery:$_ ne "ok"] meldet niedrigen Batteriestand!\n\nGruss\nEuer HausAutomat))
attr do always


und für meine Bedürfnisse angepasst:
([+[6]:00] and [?#""HM_:battery:$_ ne "ok"]) (set teleBot message @R_H Batterie leer Warnung  [@"":battery:$_ ne "ok"] ))

Ergebnis: Ich bekomme alle 6 Stunden eine Nachricht mit den Batterien die (ne ok) sind. Das klappt wunderbar.

Leider sind auch HUE Batteriestände dabei die einen tatsächlichen Wert haben, z.B. 100 (für 100 %)

Mein Kenntnisstand reich nicht aus den Code so zu verändern das die HUEs rausfallen oder noch besser nach Ladezustand bewertet werden. Zum Beispiel Meldung ab <20.

Kann jemand weiterhelfen?

Viele Grüße




Damian

z. B.

([+[6]:00] and [?#"":battery:$_ ne "ok"]) (set teleBot message @R_H Batterie leer Warnung  [@""HM_RT_.*:battery:$_ eq "low" or $number < 30] )

siehe: https://fhem.de/commandref_DE.html#DOIF_aggregation
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

rhoffm34

#2
Uiiihhh, jetzt bekomme ich alle Batterien gemeldet, egal ob leer oder nicht... das sind bei mir an die 40 Stück...

Ich denke das weiter vorne was nicht richtig ist : [?#"":battery:$_ ne "ok"]

rhoffm34

Ok, ich komme der Sache näher...

mit


([+[6]:00] and [?#"":battery:$_ ne "ok"]) (set teleBot message @R_H Batterie leer Warnung \n[@"":battery:$_ eq "low"]  )


kommen die Meldungen nur noch für die Geräte die im Falle einer leeren Batterie low im Reading haben.

Jetzt gehen mir aber noch die HUEs flöten...

mit dem Zusatz :

or $number < 30]

kommen alle Batterien.

Grisu

Unter Value Format habe ich folgendes eingetragen
{return "0" if( $VALUE eq "low" ); return "100" if( $VALUE eq "ok" ); return "25" if( $VALUE < 2.1 ); return "50" if( $VALUE < 2.3 ); return "75" if( $VALUE < 2.5 ); return "0" if( $VALUE < 10 ); return "25" if( $VALUE < 25 ); return "50" if( $VALUE < 50 ); return "75" if( $VALUE < 75 ); return "100"}

So kannst du die unterschiedlichen Zustände in ein einheitliches Format ummappen.
Möglicherweise hilft dies weiter

Gruss Dandan
2x RPI B+ 1x FritzBox7390 1x USV
1x HM-Lan 1x cul433 1x cul868
9x HM Türkontakt 1x Heizzyklen Überw. 1x Ultraschall Öl Pegel 1x Regens. 15x IT Z.stecker 2x HM Dimmer 6x FS20 Dimmer 1x Stromzähler 1x FS20 to Infrarot 3x HM Rauchmelder 3x Temp 10x Sender
Alarmanlage Aquariumst. Terrariumst.