Seite 10 von 11

Re: Ultraschallsensor in OpenHAB intigrieren

Verfasst: 22. Apr 2022 20:42
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

Re: Ultraschallsensor in OpenHAB intigrieren

Verfasst: 23. Apr 2022 09:49
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.

Re: Ultraschallsensor in OpenHAB intigrieren

Verfasst: 23. Apr 2022 17:25
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...

Re: Ultraschallsensor in OpenHAB intigrieren

Verfasst: 20. Jun 2022 18:50
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.

Re: Ultraschallsensor in OpenHAB intigrieren

Verfasst: 21. Jun 2022 07:28
von udo1toni
Ist der Sensor eventuell verschmutzt? Manchmal kommen Insekten oder Spinnen auf die Idee, ausgerechnet dort zu bauen.

Re: Ultraschallsensor in OpenHAB intigrieren

Verfasst: 21. Jun 2022 07:47
von Zemec
An das habe ich auch schon gedacht. Bin gestern in die Zisterne gestiegen um das zu kontrollieren. Ist alles sauber.

Re: Ultraschallsensor in OpenHAB intigrieren

Verfasst: 14. Jul 2022 15:58
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.

Re: Ultraschallsensor in OpenHAB intigrieren

Verfasst: 14. Jul 2022 21:09
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.

Re: Ultraschallsensor in OpenHAB intigrieren

Verfasst: 17. Jul 2022 09:42
von Zemec
Klappt einwandfrei udo1toni. Danke für dein immer schnelles Feedback.

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

Re: Ultraschallsensor in OpenHAB intigrieren

Verfasst: 17. Jul 2022 10:55
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?