Hydrometer Werte bei Veränderung per Telegram erhalten
-
- Beiträge: 40
- Registriert: 16. Nov 2018 15:37
- Wohnort: S-H
Hydrometer Werte bei Veränderung per Telegram erhalten
Hallo,
ich bin gerade erst zu diesem tollen Programm gekommen. Ich nutze es an meinem NAS, soweit geht alles, aber komme mit der Erstellung der Rules nicht weiter. Möchte eigentlich nur Infos erhalten, wenn die Prozentwerte des Hydrometers sich ändern und schön auch , wenn der aktuelle Wert mit gesendet wird.
Verbindungen per Telegram steht, aber meine Regeln sind openHab nicht genug. Dachte einfach und gab an, changed the item, then send Telegram.
Leider fällt lt. Log Datei der Bezugspunkt oder Anfangswert?
Leider ist für Anfänger die Rule Funktion in PaperUI nur fürs einfache schalten schön zu gebrauchen, aber schalten benötige ich dieser Bereich nicht.
(telegram.rules)
rule "Luftfeuchte"
when
item ZWaveNode5ZW100MultiSensor6_SensorRelativeHumidity changed
then
sendTelegram("user1", "Luftfeuchte hat sich geändert")
end
Fehlermeldung: [WARN ] [el.core.internal.ModelRepositoryImpl] - Configuration model 'telegram.rules' has errors, therefore ignoring it: [3,4]: no viable alternative at input 'item'
ich bin gerade erst zu diesem tollen Programm gekommen. Ich nutze es an meinem NAS, soweit geht alles, aber komme mit der Erstellung der Rules nicht weiter. Möchte eigentlich nur Infos erhalten, wenn die Prozentwerte des Hydrometers sich ändern und schön auch , wenn der aktuelle Wert mit gesendet wird.
Verbindungen per Telegram steht, aber meine Regeln sind openHab nicht genug. Dachte einfach und gab an, changed the item, then send Telegram.
Leider fällt lt. Log Datei der Bezugspunkt oder Anfangswert?
Leider ist für Anfänger die Rule Funktion in PaperUI nur fürs einfache schalten schön zu gebrauchen, aber schalten benötige ich dieser Bereich nicht.
(telegram.rules)
rule "Luftfeuchte"
when
item ZWaveNode5ZW100MultiSensor6_SensorRelativeHumidity changed
then
sendTelegram("user1", "Luftfeuchte hat sich geändert")
end
Fehlermeldung: [WARN ] [el.core.internal.ModelRepositoryImpl] - Configuration model 'telegram.rules' has errors, therefore ignoring it: [3,4]: no viable alternative at input 'item'
- udo1toni
- Beiträge: 15243
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Hydrometer Werte bei Veränderung per Telegram erhalten
Naja, eigentlich steht es direkt da... 
Deine Rule hat Fehler und wird deshalb ignoriert. Der Fehler tritt in Zeile 3 auf, und zwar beim Wort item. Da Du dies als Schlüsselwort eingegeben hast, muss dieses Wort fehlerhaft sein.
Eh dass Du Dich aufregst: Das Wort muss mit großem i geschrieben werden
Wenn Du Code postest, ist es sinnvoll, den code in Tags einzurahmen (das sind hier die allgemein üblichen, vorne code und hinten /code, beides jeweils in eckigen Klammern []. Das sieht dann so aus:

Deine Rule hat Fehler und wird deshalb ignoriert. Der Fehler tritt in Zeile 3 auf, und zwar beim Wort item. Da Du dies als Schlüsselwort eingegeben hast, muss dieses Wort fehlerhaft sein.
Eh dass Du Dich aufregst: Das Wort muss mit großem i geschrieben werden

Wenn Du Code postest, ist es sinnvoll, den code in Tags einzurahmen (das sind hier die allgemein üblichen, vorne code und hinten /code, beides jeweils in eckigen Klammern []. Das sieht dann so aus:
Code: Alles auswählen
rule "Luftfeuchte"
when
Item ZWaveNode5ZW100MultiSensor6_SensorRelativeHumidity changed
then
sendTelegram("user1", "Luftfeuchte hat sich geändert")
end
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet
-
- Beiträge: 40
- Registriert: 16. Nov 2018 15:37
- Wohnort: S-H
Re: Hydrometer Werte bei Veränderung per Telegram erhalten
hi udo1toni,
danke für den Hinweis. War zu schnell mit dem Einfügen mein Fehler und werde es beachten.
Das mit dem "I" in groß ist mir nicht aufgefallen. Leider habe ich auch keine kleine Vorlage in openHAB gefunden. Also kein Rules. Auch wenn ich eine mit Paper UI erstelle, finde ich diese einfach nicht um Rules. Und wie geschrieben, ich würde gerne eine Regel haben, wenn die Werte sich ändern, egal runter oder hoch, das ich dann Infos erhalte per Telegramm mit dem aktuellen Wert. Eigentlich recht simple, aber mir fehlen die Parameter, dass so in eine Rule zu schreiben.
So, aktuell sieht es so zumindest aus.
danke für den Hinweis. War zu schnell mit dem Einfügen mein Fehler und werde es beachten.
Das mit dem "I" in groß ist mir nicht aufgefallen. Leider habe ich auch keine kleine Vorlage in openHAB gefunden. Also kein Rules. Auch wenn ich eine mit Paper UI erstelle, finde ich diese einfach nicht um Rules. Und wie geschrieben, ich würde gerne eine Regel haben, wenn die Werte sich ändern, egal runter oder hoch, das ich dann Infos erhalte per Telegramm mit dem aktuellen Wert. Eigentlich recht simple, aber mir fehlen die Parameter, dass so in eine Rule zu schreiben.
So, aktuell sieht es so zumindest aus.
Code: Alles auswählen
2018-11-16 17:29:55.252 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'telegram.rules'
-
- Beiträge: 40
- Registriert: 16. Nov 2018 15:37
- Wohnort: S-H
Re: Hydrometer Werte bei Veränderung per Telegram erhalten
Tja, läuft leider immer noch nicht. Mit Changed wird das wohl nichts, denn das Item ändert ja nicht seinen Zustand, wie z.B. eine Leuchte. Somit muss ich wohl Werte eingeben. Finde leider keine Vorlagen.
nachdem Laden wirft die LOG Datei das aus
nachdem Laden wirft die LOG Datei das aus
Code: Alles auswählen
2018-11-16 17:29:37.222 [WARN ] [el.core.internal.ModelRepositoryImpl] - Configuration model 'telegram.rules' is either empty or cannot be parsed correctly!
- udo1toni
- Beiträge: 15243
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Hydrometer Werte bei Veränderung per Telegram erhalten
Wenn es sich um ein Item handelt, in dem der Wert gespeichert ist, dann ändert sich der Status immer, wenn sich der gespeicherte Wert ändert. Der Trigger changed sollte also jedesmal triggern.
Ob das passiert, kannst Du einfach feststellen, indem Du eine Logzeile erzeugen lässt, sobald die Rule getriggert wird:
Allerdings sagt die Fehlermeldung ja, dass die Datei entweder leer ist oder nicht korrekt gelesen werden kann. Diese Meldung taucht aber unter bestimmten Umständen auch regulär auf, wenn Du die Datei bearbeitest und das System die Datei neu lädt
Hast Du außer der Rule noch irgend etwas anderes in der Datei stehen?
Der andere Punkt ist die Next generation rule engine, die Du aus Paper UI heraus nutzen kannst. Die ist aber noch experimentell. Die Rules, die Du dort erstellst, werden (wie alles andere, was Du in Paper UI machtst) niemals als Textdatei erzeugt.
Ob das passiert, kannst Du einfach feststellen, indem Du eine Logzeile erzeugen lässt, sobald die Rule getriggert wird:
Code: Alles auswählen
rule "Luftfeuchte"
when
Item ZWaveNode5ZW100MultiSensor6_SensorRelativeHumidity changed
then
logInfo("luft","Luftfeuchte {}",ZWaveNode5ZW100MultiSensor6_SensorRelativeHumidity.state)
sendTelegram("user1", "Luftfeuchte hat sich geändert")
end
Hast Du außer der Rule noch irgend etwas anderes in der Datei stehen?
Der andere Punkt ist die Next generation rule engine, die Du aus Paper UI heraus nutzen kannst. Die ist aber noch experimentell. Die Rules, die Du dort erstellst, werden (wie alles andere, was Du in Paper UI machtst) niemals als Textdatei erzeugt.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet
-
- Beiträge: 40
- Registriert: 16. Nov 2018 15:37
- Wohnort: S-H
Re: Hydrometer Werte bei Veränderung per Telegram erhalten
Nein, in der Datei habe ich nichts weiteres drin. Der Sensor hat keinen internen bzw. vorgebenen Wert. Zeigt immer den Istwert an.
-
- Beiträge: 40
- Registriert: 16. Nov 2018 15:37
- Wohnort: S-H
Re: Hydrometer Werte bei Veränderung per Telegram erhalten
Klasse es hat schon mal funktioniert. Es wird gesendet, bei Veränderungen, diesmal ging der Wert runter.
Die Umlauten gehen zwar nicht, aber egal, kann man ja umschreiben.
Muss nun versuchen, deine rule nachvollziehen, und hoffe ich komme damit als Beispiel voran. Wenn ich jetzt noch die geänderten Werte mitgesendet werden, wäre perfekt. Ok, zu Not kann man ja auf die Werte manuell per PaperUI etc. einsehen.
Fürs erste aber klappte das schon mal. freut mich.
Die Umlauten gehen zwar nicht, aber egal, kann man ja umschreiben.
Muss nun versuchen, deine rule nachvollziehen, und hoffe ich komme damit als Beispiel voran. Wenn ich jetzt noch die geänderten Werte mitgesendet werden, wäre perfekt. Ok, zu Not kann man ja auf die Werte manuell per PaperUI etc. einsehen.
Fürs erste aber klappte das schon mal. freut mich.
- udo1toni
- Beiträge: 15243
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Hydrometer Werte bei Veränderung per Telegram erhalten
Den Wert kannst Du ja einfach übergeben:
Eventuell wird da allerdings ein beliebig langer Wert angezeigt, weil das Item vom Typ Number den Wert als einfach genauen Float speichert. Da kommt es dann zu Rundungsfehlern. Eine Variante wäre also
So als Tipp: Sprechende Namen für Items sind an sich schon eine gute Idee. Du siehst aber an obigem Code, dass das schnell sehr unübersichtlich wird. Welches Binding ans Item gelinkt ist, sollte eigentlich keine Rolle spielen. Welcher Typ Sensor dran hängt ist ebenfalls Ballast. Wenn mehrere Sensoren das gleiche messen, ist es wesentlich interessanter, wo die Sensoren sind. Im vorliegenden Fall wäre also ein Itemname
wesentlich aussagekräftiger (Luftfeuchte ist eigentlich immer relativ angegeben, Erdgeschoss Wohnzimmer erschließt sich auch gut) Zum Vergleich nochmal obige Rule mit neuem Item:
Code: Alles auswählen
rule "Luftfeuchte"
when
Item ZWaveNode5ZW100MultiSensor6_SensorRelativeHumidity changed
then
sendTelegram("user1", "Luftfeuchte aktuell: " + ZWaveNode5ZW100MultiSensor6_SensorRelativeHumidity.state.toString + " %")
end
Code: Alles auswählen
rule "Luftfeuchte"
when
Item ZWaveNode5ZW100MultiSensor6_SensorRelativeHumidity changed
then
sendTelegram("user1", String::format("Luftfeuchte aktuell: %.1f %%",ZWaveNode5ZW100MultiSensor6_SensorRelativeHumidity.state as Number))
end
Code: Alles auswählen
LuftfeuchteEgWohn
Code: Alles auswählen
rule "Luftfeuchte"
when
Item LuftfeuchteEgWohn changed
then
sendTelegram("user1", String::format("Luftfeuchte aktuell: %.1f %%",LuftfeuchteEgWohn.state as Number))
end
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet
-
- Beiträge: 40
- Registriert: 16. Nov 2018 15:37
- Wohnort: S-H
Re: Hydrometer Werte bei Veränderung per Telegram erhalten
leider funktioniert diese Einstellung nicht, es kommt zu diesen Meldungen
oder sollen diese Zeilen zu den schon vorhandenen then Befehl?
Code: Alles auswählen
2018-11-18 16:58:59.756 [WARN ] [ding.zwave.handler.ZWaveThingHandler] - NODE 0: Polling aborted due to exception
java.lang.NullPointerException: null
at org.openhab.binding.zwave.handler.ZWaveThingHandler$1.run(ZWaveThingHandler.java:363) [211:org.openhab.binding.zwave:2.3.0]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:?]
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) [?:?]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) [?:?]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) [?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:?]
at java.lang.Thread.run(Thread.java:748) [?:?]
- udo1toni
- Beiträge: 15243
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Hydrometer Werte bei Veränderung per Telegram erhalten
Nein, da stimmt was anderes nicht. Die Daten werden nicht mehr abgeholt, weil das zwave Binding einen Fehler verursacht hat.
In solchen Situationen ist es meist das Beste, openHAB einmal durchzustarten.
In solchen Situationen ist es meist das Beste, openHAB einmal durchzustarten.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet