Ultraschallsensor in OpenHAB intigrieren

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
Pepe1907
Beiträge: 167
Registriert: 1. Jun 2020 17:29
Answers: 2

Re: Ultraschallsensor in OpenHAB intigrieren

Beitrag von Pepe1907 »

udo1toni hat geschrieben: 5. Jul 2020 16:52 Da vorne im Script nicht erwähnt ist, dass es sich um ein Python Script handelt - das wäre diese Zeile:

Code: Alles auswählen

#!/usr/bin/python
kann der Ausruf so nicht sauber funktionieren.
Vermutlich musst Du mindestens /usr/bin/python vorne dran schreiben:

Code: Alles auswählen

/usr/bin/python /etc/openhab2/scripts/hc.py
Mit welchem User kannst Du das Script ausführen? openHAB nutzt immer den User openhab, um solche Befehle auszuführen. Falls der User openhab bestimmte Rechte nicht hat, geht es schief.
Ob der User openhab das Script ausführen kann, kannst Du mit

Code: Alles auswählen

sudo -u openhab /etc/openhab2/scripts/hc.py
testen.
Vielen Dank.
habe auf

Code: Alles auswählen

/usr/bin/python /etc/openhab2/scripts/hc.py
umgestellt und konnte über die Sitemap zumindest den Switch zum Starten des Skriptes ausführen.
Vorher ist der Switch direkt wieder ausgegangen.
Leider kann ich die Linuxkonsole bzw das Openhab Log nicht aus der Ferne einsehen.
Rückgabewerte, Rückgabestatus usw. wird genau wie vorher falsch angezeigt. (Evtl benötigt es einen reboot?)
Bild

Ggf. kann man es aus der Ferne noch weiter einlesen dann wäre ich für Tipps dankbar. Wenn nicht müsste ich die Tage wieder die Reise zu meinen Eltern hinnehmen. Leider sind diese auch im Urlaub, weshalb ich per Teamviewer nicht aus der Ferne walten kann.

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

Re: Ultraschallsensor in OpenHAB intigrieren

Beitrag von udo1toni »

Das verstehe ich jetzt nicht ganz. Wie kannst Du keinne Zugriff haben, aber den Aufruf anpassen?
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

Pepe1907
Beiträge: 167
Registriert: 1. Jun 2020 17:29
Answers: 2

Re: Ultraschallsensor in OpenHAB intigrieren

Beitrag von Pepe1907 »

udo1toni hat geschrieben: 5. Jul 2020 23:12 Das verstehe ich jetzt nicht ganz. Wie kannst Du keinne Zugriff haben, aber den Aufruf anpassen?
Den Aufruf kann ich per myopenhab.org anpassen. Leider kann ich darüber aber nicht aufs log zugreifen.

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

Re: Ultraschallsensor in OpenHAB intigrieren

Beitrag von udo1toni »

Ah, das war mir noch nicht bekannt.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

Pepe1907
Beiträge: 167
Registriert: 1. Jun 2020 17:29
Answers: 2

Re: Ultraschallsensor in OpenHAB intigrieren

Beitrag von Pepe1907 »

Also da bin ich wieder.
Endlich kann es weiter gehen.
In der Console per Putty ist nichts zu verzeichnen, genauso wie im openhab logviewer.
allerdings bekomme ich eine Meldung in Putty wenn ich das Skript per Hand abfahre.

Code: Alles auswählen

[16:32:59] openhabian@openhab:~$ python /etc/openhab2/scripts/hc.py
/etc/openhab2/scripts/hc.py:9: RuntimeWarning: This channel is already in use, c                                                                             ontinuing anyway.  Use GPIO.setwarnings(False) to disable warnings.
  GPIO.setup(GPIO_TRIGGER, GPIO.OUT)
Distanz = 110.6 cm
Distanz = 110.6 cm
Wieso bekomme ich die WErte nicht als Rückgabewerte?
Was mache ich noch falsch?

Pepe1907
Beiträge: 167
Registriert: 1. Jun 2020 17:29
Answers: 2

Re: Ultraschallsensor in OpenHAB intigrieren

Beitrag von Pepe1907 »

Code: Alles auswählen

[17:13:41] openhabian@openhab:~$ sudo -u openhab /etc/openhab2/scripts/hc.py
/etc/openhab2/scripts/hc.py: 2: /etc/openhab2/scripts/hc.py: import: not found
/etc/openhab2/scripts/hc.py: 3: /etc/openhab2/scripts/hc.py: import: not found
/etc/openhab2/scripts/hc.py: 6: /etc/openhab2/scripts/hc.py: Syntax error: word unexpected (expecting ")")
Scheint wohl an den Rechten zu liegen. Hatte leider deinen Tipp komplett überlesen.

Wenn ich das Skript so per Konsole starte funktioniert es tadellos

Code: Alles auswählen

[17:13:56] openhabian@openhab:~$ sudo python  /etc/openhab2/scripts/hc.py
Distanz = 109.8 cm
Distanz = 109.8 cm
Distanz = 110.8 cm
Distanz = 111.2 cm
Distanz = 111.3 cm
Distanz = 111.7 cm
Distanz = 111.2 cm
Distanz = 111.3 cm
Distanz = 111.3 cm
Distanz = 111.2 cm
Distanz = 111.7 cm
Distanz = 111.3 cm
Distanz = 111.6 cm
Distanz = 111.3 cm
Distanz = 111.2 cm
Distanz = 111.2 cm
Distanz = 111.3 cm
Distanz = 111.7 cm
Distanz = 111.3 cm
Wie vergebe ich den openhab jetzt das Recht das Skript auszuführen?

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

Re: Ultraschallsensor in OpenHAB intigrieren

Beitrag von udo1toni »

Wie sieht es denn aus, wenn Du python mit angibst?

Code: Alles auswählen

sudo -u openhab /usr/bin/python /etc/openhab2/scripts/hc.py
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

Pepe1907
Beiträge: 167
Registriert: 1. Jun 2020 17:29
Answers: 2

Re: Ultraschallsensor in OpenHAB intigrieren

Beitrag von Pepe1907 »

udo1toni hat geschrieben: 9. Jul 2020 17:48 Wie sieht es denn aus, wenn Du python mit angibst?

Code: Alles auswählen

sudo -u openhab /usr/bin/python /etc/openhab2/scripts/hc.py
Dann passiert nix.
Es kommt keine Fehlermeldung, keine gemesse Entfernung.
Allerdings muss ich das Skript per Strg+C beenden um einen neuen Befehl eingeben zu können.
Liegt es evtl. daran, dass man den Befehl mit

Code: Alles auswählen

sudo python /etc/openhab2/scripts/hc.py
von Hand abruft?
Zuletzt geändert von Pepe1907 am 9. Jul 2020 18:05, insgesamt 1-mal geändert.

Pepe1907
Beiträge: 167
Registriert: 1. Jun 2020 17:29
Answers: 2

Re: Ultraschallsensor in OpenHAB intigrieren

Beitrag von Pepe1907 »

udo1toni hat geschrieben: 9. Jul 2020 17:48 Wie sieht es denn aus, wenn Du python mit angibst?

Code: Alles auswählen

sudo -u openhab /usr/bin/python /etc/openhab2/scripts/hc.py

Code: Alles auswählen

[17:53:36] openhabian@openhab:~$ sudo -u openhab python /etc/openhab2/scripts/hc.py
Distanz = 111.3 cm
Wenn ich den Befehl so ausführe misst er die Entfernung.

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

Re: Ultraschallsensor in OpenHAB intigrieren

Beitrag von udo1toni »

Nein, der Pfad wäre schon wichtig, um sicherzustellen, dass der Befehl später aus dem Exec Binding heraus auch funktioniert.
Die einfachste Variante wäre, den Befehl mit sudo auszuführen. Dazu musst Du aber dafür sorgen, dass der User openhab diesen (und nur diesen!) Befehl mittels sudo ohne Passworteingabe ausführen darf. Und das geht so:

Code: Alles auswählen

openhabian@openhab2:~$ sudo visudo
Nach Eingabe des Passworts öffnet sich ein Editor-Fenster (gewöhnlich sollte nano verwendet werden)
Nun ergänzt Du unter den Zeilen

Code: Alles auswählen

# User privilege specification
root    ALL=(ALL:ALL) ALL
die Zeile

Code: Alles auswählen

openhab ALL=(ALL:ALL) NOPASSWD: /usr/bin/python /etc/openhab2/scripts/hc.py
Nun kannst Du in Exec den Befehl

Code: Alles auswählen

sudo /usr/bin/python /etc/openhab2/scripts/hc.py
eintragen (muss natürlich exakt so auch in die whitelist)
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

Antworten