Funksteckdose in PYTHON schalten

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo zusammen,

    bin schon seit Tagen am suchen, wie man Funksteckdosen im Python-script schaltet.
    Meine Voraussetzungen:
    - Funksteckdosen "Vivanco FSS 33600W" (sollen mehr als 2kW schalten)
    - "wiringPi" installiert und funktioniert, d.h. ich kann z.B. mit ./sendcode 4474193 ein und mit ./sendcode 4474196 ausschalten.

    Jetzt will ich mit Hilfe eines python-scipts die Steckdosen ein- und ausschalten. Also kleines Testprogramm :


    Leider keine Reaktion seitens der Steckdose. Im Terminal funktioniert es.
    Hat einer eine Idee?

    Grüße Lutz

  • Probiere mal so:

    call (['./codesend’, '4474193'])

    und das Programm mit sudo starten.

    Oder call (['sudo ./codesend', '4474193’)]

    In das zweite Feld soll sowas wie "-l" bei call(['list',’’-l"]) also der Zusatz

  • AltBen,

    ich habe extra 'sendcode' in das Arbeitsverzeichnis kopiert, damit ich nicht den ganzen weg eingeben muss. Es startet auch von der shell.

    MyNickname,

    leider keine Besserung. Weder noch das Eine, noch das Andere
    Mit os.system ('sudo ./sendcode 4474193') funktioniert es nur hin und wieder. :s
    An der Entfernung liegt es nicht, da sowohl mit der shell und direkt mit der Fernbedienung habe ich keine Probleme.
    Bei 'sendcode 4474193' ist die Zahl der Anschaltcode für die entsprechnde Steckdose, daher xx196 für aus.
    Automatisch zusammengefügt:
    Nochmal ich,

    es funktioniert natürlich nur im LXTerminal, nicht in der shell. Entschuldigung!

    Einmal editiert, zuletzt von HeiLuRa (24. Dezember 2015 um 09:46)

  • Frohe Weihnachten noch allen,

    ich habe heute nochmals etwas getestet:
    Wenn ich in der Python-shell
    >> subprocess.call (["sudo", "/home/pi/wiringPi/433Utils/RPi_utils/codesend", "4474193"])
    eingebe kommt als Ergebnis ">> 0"
    Wenn ich
    >> subprocess.call (["sudo", "./codesend", "4474193"])
    absende, kommt ">> 1"
    Aber jedesmal keine Reaktion Seitens der Steckdose!! :@

    Kann irgend jemand helfen????

    Grüße

  • was passiert hier?

    Code
    import os
    
    
    os.system("sudo codesend 4474196")

    so mache ich es:

    Code
    import os
    def send433(freq,HC,Stat):
    os.system("sudo send "+str(freq)+" "+str(HC)+" "+str(Stat))
    
    
    send433(11111,1,0) # aus
    send433(11111,1,1) # an

    Einmal editiert, zuletzt von MyNickname (28. Dezember 2015 um 00:16)

  • Hallo MyNickname,

    habe es im Progamm nach Deiner zweiten Version gestetet, kein Erfolg! :wallbash:
    Direkt in der Python-shell:
    [font="Courier New"]>>> import os[/font]
    [font="Courier New"]>>>os.system ("sudo codesend 4474193")[/font]
    [font="Courier New"]256[/font]
    [font="Courier New"][font="Courier New"]>>>os.system ("sudo codesend 4474196")[/font]
    [font="Courier New"]256[/font][/font]

    [font="Arial"]Aber keine Reaktion!!!!
    Was sagt die "256[/font]"?

    Gibt es keinen anderen Weg???

    Grüße Lutz

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!