Ultraschallsensor in OpenHAB intigrieren

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
Benutzeravatar
udo1toni
Beiträge: 13859
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: Ultraschallsensor in OpenHAB intigrieren

Beitrag von udo1toni »

Ich gehe davon aus, dass zisternenstand2_avg ebenfalls ein Item ist. Ein Item ist eine Item, keine Variable. Du kannste einem Item nicht einfach per = einen Wert zuweisen. Du musst stattdessen die Methode postUpdate() verwenden, um den Status des Items zu beeinflussen. also so:

Code: Alles auswählen

rule "Zisternenstand geglättet"
when
    Item zisternenstand2 received update
then
    zisternenstand2_avg.postUpdate(zisternenstand2.averageSince(now.minusMinutes(3)))
end
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

Zemec
Beiträge: 19
Registriert: 7. Nov 2021 09:17

Re: Ultraschallsensor in OpenHAB intigrieren

Beitrag von Zemec »

Danke udo1toni, hat natürlich ab Anhieb geklappt.

Könnte ich in die Rule noch mit einbauen, dass der ausgegebene Wert auf eine ganze Zahl gerundet wird? Damit der Chart besser aussieht.

Benutzeravatar
udo1toni
Beiträge: 13859
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: Ultraschallsensor in OpenHAB intigrieren

Beitrag von udo1toni »

Klar, Du kannst in die Rule einbauen, was Du willst...

Code: Alles auswählen

rule "Zisternenstand geglättet"
when
    Item zisternenstand2 received update
then
    zisternenstand2_avg.postUpdate((zisternenstand2.averageSince(now.minusMinutes(3)) + 0.5).intValue)
end
Die Werte werden mathematisch gerundet. Möchtest Du immer abrunden, so entfernst Du einfach das + 0.5.
Außerdem könnte dann ein Klammerpaar entfallen...
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

Zemec
Beiträge: 19
Registriert: 7. Nov 2021 09:17

Re: Ultraschallsensor in OpenHAB intigrieren

Beitrag von Zemec »

Hallo zusammen. Habe nun seit Ende April den Ultraschallsensor im Einsatz. Bisher funktionierte alles problemlos bis auf einzelne Fehlmessungen. Seit Tagen liefert der Ultraschallsensor aber keine richtigen Werte. Diese pendeln meist zwischen 30 und 200 cm. Tatsächlicher Abstand in der Zisterne aktuell ca. 160 cm. Kann es sein dass der Sensor schon defekt ist? Habe extra den wasserdichten JSN-SR04T genommen.

Benutzeravatar
udo1toni
Beiträge: 13859
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: Ultraschallsensor in OpenHAB intigrieren

Beitrag von udo1toni »

Ist der Sensor eventuell verschmutzt? Manchmal kommen Insekten oder Spinnen auf die Idee, ausgerechnet dort zu bauen.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

Zemec
Beiträge: 19
Registriert: 7. Nov 2021 09:17

Re: Ultraschallsensor in OpenHAB intigrieren

Beitrag von Zemec »

An das habe ich auch schon gedacht. Bin gestern in die Zisterne gestiegen um das zu kontrollieren. Ist alles sauber.

Zemec
Beiträge: 19
Registriert: 7. Nov 2021 09:17

Re: Ultraschallsensor in OpenHAB intigrieren

Beitrag von Zemec »

Nun ist mir aufgefallen, dass die minimal gemessenen Werte in etwa den Füllstand widerspiegeln. Diese Werte will ich mit einer Regel "rausfiltern". Leider funktioniert diese Regel nicht.

Code: Alles auswählen

rule "Zisternenstand Min."
when
    Item zisternenstand2 received update
    then
     zisternenstand2_min.postUpdate(zisternenstand2.minimumSince(now.minusMinutes(15)))

    end
Denke es liegt an der Zeitangabe die sich nicht mit "minimum" verträgt. Bei "average" funktioniert es ja. In Google konnte ich dazu nichts finden.

Benutzeravatar
udo1toni
Beiträge: 13859
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: Ultraschallsensor in OpenHAB intigrieren

Beitrag von udo1toni »

Nein, Du wirst da noch ein .state ergänzen müssen. .minimumSince liefert ein HistoricItem zurück. Dieses hat .state und .getTimestamp als Methoden. Denn Du kannst auf diesem Weg auch erfragen, wann das Minimum aufgetreten ist.

Deine Rule muss also so aussehen:

Code: Alles auswählen

rule "Zisternenstand Min."
when
    Item zisternenstand2 received update
then
    zisternenstand2_min.postUpdate(zisternenstand2.minimumSince(now.minusMinutes(15)).state)
end
Eventuell mag er auch .state nicht verarbeiten, dann sollte es reichen, an das .state noch ein .toString anzuhängen. Eigentlich sollte es aber ohne diesen Kniff funktionieren.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

Zemec
Beiträge: 19
Registriert: 7. Nov 2021 09:17

Re: Ultraschallsensor in OpenHAB intigrieren

Beitrag von Zemec »

Klappt einwandfrei udo1toni. Danke für dein immer schnelles Feedback.

Ein Sensor mit verlässlichen Daten wäre mir trotzdem lieber...

Benutzeravatar
udo1toni
Beiträge: 13859
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: Ultraschallsensor in OpenHAB intigrieren

Beitrag von udo1toni »

Definitiv :) Da kann ich allerdings nichts weiter beisteuern, höchstens raten, dass evtl. die serielle Kommunikation gestört ist. Hast Du mal alle Steckkontakte gezogen und wieder gesteckt? Ist der Sender im Trockenen untergebracht?
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

Antworten