(gelöst) Mit Dummy-Schalter Python-Script ausführen

Begonnen von Kingi, 22 Januar 2017, 01:29:08

Vorheriges Thema - Nächstes Thema

Kingi

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

Amenophis86

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.
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

Kingi

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");;}

Amenophis86

Oh, hatte ich auch übersehen. Sry. Aber Hauptsache es klappt :)
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...