Re: Telegram /Sonoff Temperatur & Hydrowerte nur bei Änderung von Wert 1 senden
Verfasst: 19. Dez 2019 15:03
eigentlich habe ich heute leider wenig Zeit für diese schöne Bastelarbeit, aber ich freu mich darüber, wie ihr mir dabei weiterhelft und da muss ich trotzdem mal den Rechner anschmeisen. Hatte gestern Abend zwar noch ein paar Rules umgestellt von 1 auf 0.5, aber an einem Linux MInt ging das nicht so schnell, wie mit gewohnten Programmen am W10 PC.
Heute habe ich nun mal beoachtet, was passiert.
Obwohl in einer Rule den Wert auf > 0.5 definiert ist, kommen schon Meldungen, wenn es nur 0.3 waren usw. Nicht so schlimm, die Genauigkeit der Variable ist wohl nicht genau?
trotz sorgfälltiger Eingaben bzw. einkopieren unterlaufen noch einige Fehler und die Log zeigt mir dann, dass ich noch mal genauer schauen muss. Ist ok, aber nun habe ich in einer Rule, wo ich meine, dass ich keinen Fehler mehr finde diese LOG Infos.
die betreffende Rule ist
eine baugleiche Rule läuft ohne Fehlerlog.
oder mache ich den Fehler die Rules alle telgram1, telegram2, usw. zu bennen.
@peter-pan
jo, freut mich auch sehr, deine Hilfe. Bindest du den Code einfach mit in die Rule ein?
wie schon geschrieben nutze ich diesen code für Sonoffs TH10/16 mit Hydrowerte und Temperatur.
so z.B.
ich weis, die Itemname etc. sind noch wild, aber als ich das einrichtete war es nur als Test geplant. Änderung war für mich noch nicht wichtig, es sollte erstmal lauffähig sein.
Heute habe ich nun mal beoachtet, was passiert.
Obwohl in einer Rule den Wert auf > 0.5 definiert ist, kommen schon Meldungen, wenn es nur 0.3 waren usw. Nicht so schlimm, die Genauigkeit der Variable ist wohl nicht genau?
meinst du damit die Zeile in der Rule?Das °C oder % musst Du selbst anhängen. Wenn Du im Itemnamen jeweils identisch ein Schlüsselwort hast, mit dem die Rule erkennen kann, ob es sich um Temperatur oder Luftfeuchte handelt, kann es bei der einen Rule bleiben
Code: Alles auswählen
rule "Temperature"<<<<<<< diese ?
Code: Alles auswählen
[WARN ] [el.core.internal.ModelRepositoryImpl] - Configuration model 'telegram3.rules' is either empty or cannot be parsed correctly!
Code: Alles auswählen
//globale Variablen zu Beginn der Datei definieren!
var Number nKellerHSent = -99999
rule "Humidity"
when
Item mqtt_topic_KellerHydro_KellerH changed
then
if(Math::abs((mqtt_topic_KellerHydro_KellerH.state as Number).doubleValue - nKellerHSent) > 0.5) {
sendTelegram("bot1","Wohnzimmer: " +mqtt_topic_KellerHydro_KellerH.state.toString)
nhKellerHSent = (mqtt_topic_KellerHydro_KellerH.state as Number).doubleValue
}
end
Code: Alles auswählen
//globale Variablen zu Beginn der Datei definieren!
var Number npch2Sent = -99999
rule "Humidity"
when
Item mqtt_topic_pch1_pch2 changed
then
if(Math::abs((mqtt_topic_pch1_pch2.state as Number).doubleValue - npch2Sent) > 0.5) {
sendTelegram("bot1","Heiko Hydro: " +mqtt_topic_pch1_pch2.state.toString)
npch2Sent = (mqtt_topic_pch1_pch2.state as Number).doubleValue
}
end
@peter-pan
jo, freut mich auch sehr, deine Hilfe. Bindest du den Code einfach mit in die Rule ein?
wie schon geschrieben nutze ich diesen code für Sonoffs TH10/16 mit Hydrowerte und Temperatur.
so z.B.
Code: Alles auswählen
//globale Variablen zu Beginn der Datei definieren!
var Number npch2Sent = -99999
rule "Humidity"
Text item=mqtt_topic_BAD_BAD1 label="Temperatur [%.1f °C]"
when .....