FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Kingi am 22 Januar 2017, 01:29:08

Titel: (gelöst) Mit Dummy-Schalter Python-Script ausführen
Beitrag von: Kingi am 22 Januar 2017, 01:29:08
Hallo zusammen,
ich bin ein kompletter Neueinsteiger in Sachen Raspberry und Programmierung, bitte entschuldigt deshalb diese vermutlich idiotisch leichte Frage. Ich bin seit 2 Tagen am Suchen und Probieren, bekomme meinen Testaufbau jedoch nicht zum Laufen.

Ich habe am Raspberry über 2 I2C-Expander jeweils eine 16-Relais-Karte angeschlossen und möchte diese für eine Rollladensteuerung sowohl über das Webinterface als auch über eine Sonnenauf- und -untergangsautomatik ansteuern. Das Script kann ich auch über die Raspberry-Konsole ausführen und es wird für 1 Sekunde geschalten.

#!/usr/bin/python
import smbus
import time

# I2C-Adresse des MCP23017
address = 0x20

# Erzeugen einer I2C-Instanz und Oeffnen des Busses
mcp23017 = smbus.SMBus(1)

# Relais K1 ansteuern
mcp23017.write_byte_data(address,0x12,0xfe)

# Warten 1 Sekunde
time.sleep(1)

# Relais zuruecksetzen
mcp23017.write_byte_data(address,0x12,0xff)


In FHEM habe ich einen Dummy-Schalter (Kueche_RL_hoch) mit dem State "Hoch" angelegt, welcher dann hiermit das Python-Script ausführen soll:

Kueche_RL_hoch:Hoch {system("sudo /opt/fhem/Kueche_RL_hoch.py");;}


Ich werde jedoch nicht aus dem Logfile schlau

2017.01.22 01:08:16 3: Kueche_RL_hochfahren return value: -1

Wir gehen davon aus, dass der lokale Systemadministrator Ihnen die
Regeln erklärt hat.  Normalerweise läuft es auf drei Regeln hinaus:

    #1) Resprektieren Sie die Privatsphäre anderer.
    #2) Denken Sie nach bevor Sie tippen.
    #3) Mit großer Macht kommt große Verantwortung.

sudo: Kein TTY vorhanden und kein »askpass«-Programm angegeben


Ich würde mich wirklich sehr freuen, wenn mir jemand einen Lösungsweg zeigen könnte.
Danke und viele Grüße
Thomas
Titel: Antw:Mit Dummy-Schalter Python-Script ausführen
Beitrag von: Amenophis86 am 22 Januar 2017, 06:59:47
der User FHEM hat vermutlich keine Rechte für die Datei zum ausführen und vermutlich auch keine sudo Rechte. Damit dürfest du einiges hier im Forum finden.
Titel: Antw:(gelöst) Mit Dummy-Schalter Python-Script ausführen
Beitrag von: Kingi am 22 Januar 2017, 15:50:28
Vielen Dank erstmal für deine Antwort. Ich habe dem User fhem jetzt noch ein paar weitere Rechte erteilt.

Die Lösung des Problems war dann folgende:
Da ich noch nicht richtig wusste, wie die DEF-Befehle aufgebaut sind, habe ich mir die aus Foren zusammengesucht.
Kueche_RL_hoch:Hoch {system("sudo /opt/fhem/Kueche_RL_hoch.py");;}
Hier fehlte noch zwischen "sudo" und "/opt..." ein python

Funktionierender Code:
Kueche_RL_hoch:Hoch {system("sudo python /opt/fhem/Kueche_RL_hoch.py");;}
Titel: Antw:(gelöst) Mit Dummy-Schalter Python-Script ausführen
Beitrag von: Amenophis86 am 22 Januar 2017, 16:34:05
Oh, hatte ich auch übersehen. Sry. Aber Hauptsache es klappt :)