Füllstandanzeige in PaperUI

GUI Relevanten, PaperUI, BasicUI, HabPanel ...

Moderatoren: seppy, udo1toni

Antworten
Weltenbummler18
Beiträge: 6
Registriert: 27. Jan 2020 12:21

Füllstandanzeige in PaperUI

Beitrag von Weltenbummler18 »

Hallo,

ich habe am Raspi über GPIO einen Ultraschallsensor angeschlossen, um mir im Frischwassertank den Füllstand anzeigen zu lassen.

Dazu habe ich diese Anleitung verwendet: https://tutorials-raspberrypi.de/entfer ... r-hc-sr04/

Funktioniert auch wunderbar. Wenn ich das Script aufrufe, wird mir die errechnete Distanz in der Console ausgegeben. Wie kann ich denn nun die Ausgabe aus dem Script, welches die Distanz berechnet, unter PaperUI darstellen?

Viele Grüße,
Thomas

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

Re: Füllstandanzeige in PaperUI

Beitrag von udo1toni »

Es ist die Frage, wie das Script arbeitet.
Das auf der von Dir verlinkten Seite läuft ja nun dauerhaft und macht sekündlich ein Update. Wenn Du das so laufen lassen willst, wäre es am sinnvollsten, das Script um einen mqtt Client zu erweitern (dafür gibt es die mqtt.paho Bibliothek) und den Wert bei Wertänderung nach mqtt zu schicken.
Alternativ könntest Du das Script so ändern, dass es nur einen einzelnen Wert liefert. Dann kannst Du das Exec Binding verwenden, um den Rückgabewert in ein String Item zu schreiben. Wenn Du den Wert als Zahl verwenden willst, musst Du danach das String Item bei Wertänderung in ein NumberItem parsen lassen (dazu muss eine kleine Rule herhalten).
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

Weltenbummler18
Beiträge: 6
Registriert: 27. Jan 2020 12:21

Re: Füllstandanzeige in PaperUI

Beitrag von Weltenbummler18 »

udo1toni hat geschrieben: 14. Jun 2020 18:49 Alternativ könntest Du das Script so ändern, dass es nur einen einzelnen Wert liefert. Dann kannst Du das Exec Binding verwenden, um den Rückgabewert in ein String Item zu schreiben. Wenn Du den Wert als Zahl verwenden willst, musst Du danach das String Item bei Wertänderung in ein NumberItem parsen lassen (dazu muss eine kleine Rule herhalten).
Das hört sich vielversprechend an. ExecBinding hört sich gut an. Ich habe zwar noch nicht gelesen, was es macht, aber wenn man vom Namen auf die Funktion schließen kann, könnte das die Lösung für das Problem sein. Werde ich die Tage mal angehen und das Ergebnis posten.

Vielen Dank für Deine Zeit und die Infos!

Weltenbummler18
Beiträge: 6
Registriert: 27. Jan 2020 12:21

Re: Füllstandanzeige in PaperUI

Beitrag von Weltenbummler18 »

Bingo!

Ich habe die Schleife, in der der Wasserstand berechnet und ausgegeben wird entfernt. Dann das Bindig ExecBinding installiert und eingerichtet. Das script habe ich dann samt Pfad in die exec.whitelist Datei eingefügt und es funktioniert.

Kleiner Schönheitsfehler: leider "verrutscht" die Anzeige des Output-Werts eine Zeile tiefer, so daß Label und Value nicht auf einer Linie sind.

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

Re: Füllstandanzeige in PaperUI

Beitrag von udo1toni »

Das deutet darauf hin, dass zu Beginn der Ausgabe ein Zeilenumbruch steht. Solange es nur um die Anzeige geht, ist ein String sicher ausreichend, aber sobald Du mit dem Messwert etwas anfangen willst (z.B. eine Prozent-Anzeige mit dynamischem Icon) musst Du den String in ein Number Item parsen. Da der exec Channel "output" immer vom Typ String ist, musst Du das per Rule und Proxy Item erledigen. Beim parsen wird aber der Zeilenumbruch auch gleich entfallen.

Gesendet von meinem SM-G973F mit Tapatalk


openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

Weltenbummler18
Beiträge: 6
Registriert: 27. Jan 2020 12:21

Re: Füllstandanzeige in PaperUI

Beitrag von Weltenbummler18 »

Ja, das ist auch meine Vermutung. Leider kann ich nur trailing line feeds über das print-Kommando in Python rausfiltern.

Gibt es denn ein Beispiel für die Konversion von String in Number?

Weltenbummler18
Beiträge: 6
Registriert: 27. Jan 2020 12:21

Re: Füllstandanzeige in PaperUI

Beitrag von Weltenbummler18 »

Disregard - habe schon ein Beispiel gefunden, probiere es aus und wenn ich Probleme habe, melde ich ich nochmal.

Antworten