Brauche Hilfe beim Abfragen einer Website im Script

  • Hallo zusammen

    Ich habe vor Kurzem angefangen, ein wenig mit dem Raspberry Pi 4 herumzubasteln. Mein jetziges Projekt ist, dass ich ein Sonoff-Tasmota WLAN-Relais durch Knopfdruck schalten möchte. Im Terminal kann ich mit: (wget 'http://192.168.1.175/?m=1&o=1') das Relais umschalten. Meine Frage ist jetzt: Wie kann ich das in einem Python Script machen, welches ausgeführt wird, sobald ein Taster betätigt wurde?

    Ich kenne mich mit Programmieren noch nicht so gut aus. Wahrscheinlich ist es sehr einfach zu lösen, allerdings habe ich nirgends eine funktionierende Lösung gefunden.

    Danke im Voraus für die Hilfe.

  • Brauche Hilfe beim Abfragen einer Website im Script? Schau mal ob du hier fündig wirst!

  • Inklusive warten auf Taster und Fehlerbehandlung wenn das `get()` zwar eine Antwort erhält, die aber einen Fehlercode enthält:

    Die Pin-Nummer 42 muss natürlich durch die tatsächliche Pin-Nummer ersetzt werden.

    “Dawn, n.: The time when men of reason go to bed.” — Ambrose Bierce, “The Devil's Dictionary”

    • Offizieller Beitrag

    Sorry, das mit der Schleife war Blödsinn! :blush:

    Trotzdem würde ich keine im Skript verwenden, bzw. empfehlen, weil das nicht gerade OOP ist und das Skript damit schlecht erweiterbar wird. Meiner Meinung nach ist hier button.when_pressed besser geeignet.

    In etwa so:

    (Ungetestet!)

  • hyle OOP ist das jetzt auch nicht, das braucht man ja erst wenn man sich über die Rückrufe hinweg Zustand merken muss.

    IMHO ist das nicht so schön wenn der Haupt-Thread einfach nichts macht als auf ein Signal zu warten und die eigentliche Arbeit in einen extra Thread zu verschieben der nur existiert weil der Haupt-Thread nur Däumchen dreht/schläft.

    Naja, ist Geschmackssache. Jetzt kennt der OP beide Wege. ?

    “Dawn, n.: The time when men of reason go to bed.” — Ambrose Bierce, “The Devil's Dictionary”

  • Vielen Dank für die Hilfe.

    Ich habe das Skript von __blackjack__ und von hyle getestet. Das von hyle habe ich noch nicht zum Laufen gebracht, das von __blackjack__ funktionert. Jetzt ist es aber so, dass bei diesen Skript das Relais immer ein und ausschaltet, wenn der Taster nicht nur ganz kurz betätigt ist... Kann man dort noch eine Pause einfügen, damit man den Taster etwa eine Sekunde gedrückt halten kann? Und wo müsste ich diese Pause reinprogrammieren?

  • Hier mal der Code meiner Türklingel. Wenn man kurz drückt (kürzer gedrückt hält als 1,5 Sekunden), klingeln alle Telefone an der Fritzbox nur kurz und wenn man länger gedrückt hält, klingeln sie länger. Zum Glück weiß (noch) niemand von dieser Funktion ;)

    Kelvin

    • Offizieller Beitrag

    Das von hyle habe ich noch nicht zum Laufen gebracht

    So sollte es jetzt funktionieren (Zeile 9 angepasst).

    dass bei diesen Skript das Relais immer ein und ausschaltet, wenn der Taster nicht nur ganz kurz betätigt ist...

    Was Du suchst ist, soweit ich das verstehe bounce_time= im Link von Dennis89

Jetzt mitmachen!

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