[solved] mal wieder python script

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
Evil74
Beiträge: 11
Registriert: 15. Nov 2020 10:58
Answers: 0

[solved] mal wieder python script

Beitrag von Evil74 »

Hallo zusammen

Ich habe florgendes Problem:

ich habe ein Python skript

Code: Alles auswählen

import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
GPIO.setup(25, GPIO.OUT)
GPIO.output(25, 1)
time.sleep(10)
GPIO.output(25, 0)
GPIO.cleanup()
das funktioniert auch aus der Komandozeile


Das würde ich gerne über openhab aufrufen

Das item:

Code: Alles auswählen

Switch LED2"LED2" {channel="exec:command:LED2:run"}
Das thing

Code: Alles auswählen

Thing exec:command:LED2 [command="sudo /usr/bin/python /home/openhabian/conrad/led.py %2$s",  transform="REGEX((.*?))"]
Fehlermeldungen aus dem Log kommen nicht mehr (was ganz schönlange gedauert hat). trotzdem geht die Lampe nicht an. Jemand vielleicht eine Idee?
Zuletzt geändert von Evil74 am 16. Nov 2020 19:24, insgesamt 1-mal geändert.

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

Re: mal wieder python script

Beitrag von udo1toni »

Ich gehe mal davon aus, dass Du die Anweisung exakt so in der Whitelist drin stehen hast.

Aber zuerst ein Tipp: Du solltest grundsätzlich immer versuchen, ohne sudo auszukommen.

sudo fragt normalerweise immer nach dem Passwort (und nebenbei muss der User, der den Befehl aufruft, natürlich auch in der sudoers Liste stehen).
Du kannst das mit der Passworteingabe vermeiden, indem Du den Befehl mit nopassword einträgst. Allerdings möchte sudo dennoch beim ersten Aufruf interaktiv bedient werden ("Bedenken Sie, dass mit großer Macht große Verantwortung einher geht...") Das bedeutet, Du musst Dich mit dem user openhab anmelden (denn openHAB läuft unter dem User openhab, nicht etwa unter dem User openhabian oder pi oder gar einem User, den Du selbst angelegt hast). Blöderweise darf sich der User openhab gar nicht am System anmelden. Das kann man zwar umgehen, aber wie gesagt ist das ganze Hantieren mit sudo gar nicht notwendig, es reicht, mittels

Code: Alles auswählen

sudo adduser openhab gpio
den User openhab zusätzlich zur Gruppe gpio hinzuzufügen. Danach sollte ein Programm, welches vom User openhab aufgerufen wird, das Recht haben, die GPIO zu nutzen.
Alternativ kannst Du auch den Befehl

Code: Alles auswählen

sudo usermod -aG gpio openhab
verwenden, der bewirkt das gleiche.
openHAB4.3.5 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet

Evil74
Beiträge: 11
Registriert: 15. Nov 2020 10:58
Answers: 0

[solved] mal wieder python script

Beitrag von Evil74 »

Hallo

Vielen Dank das war die Lösung ohne sudo. und gelernt habe ich auch viel über den log :D

Antworten