Shelly per Javascript steuern

  • Falls mal jemand auf der Suche nach einem Script sein sollte, man kann Shellys ganz einfach per Javascript mittels der Fetch-API moderner Browser steuern.. Da die REST-API vom Shelly leider keinen CORS-Header gesetzt hat funktioniert es leider nur im no-cors mode, zum Schalten reicht es aber ;)

    Im Beispiel eine Mini-Funktion zum Togglen von Lampen und Relays.

    Man ruft bei onClick auf einen Button die Funktion auf und übergibt die Art des Gerätes (light oder relay), die Nummer des Relays (0, 1, 2, 3) und die IP ..


    >100 Shellies, darunter so gut wie alles was der Hersteller produziert hat. ;)
    :!: ich beantworte grundsätzlich keine Fragen per persönlicher Nachricht:!:

  • Ergänzend noch die Variante mit einem Mini-Reverse-Proxy in PHP, damit man die Shellys theoretisch auch von außen steuern kann:

    >100 Shellies, darunter so gut wie alles was der Hersteller produziert hat. ;)
    :!: ich beantworte grundsätzlich keine Fragen per persönlicher Nachricht:!:

  • Sehr schön erklärt mit dem Shellyproxy :thumbup:

    Damit kann man von außen auf die interne Funktionen (über 192.x.x.x IP) zugreifen. Hab es bei mir umgesetzt, um das Licht mit einem HTML Button ein und auszuschalten. Kann man super übernehmen, funktioniert einwandfrei - danke dafür.

    Eine Frage:

    Gibt es eine Möglichkeit, direkt aus PHP raus, den Befehl ohne Javascript zu starten? Ich habe eine Abfrage, ob es dunkel ist, dann würde das Licht angehen.

    2 Mal editiert, zuletzt von AndyKL (24. Januar 2021 um 12:39)

  • Gibt es eine Möglichkeit, direkt aus PHP raus, den Befehl ohne Javascript zu starten? Ich habe eine Abfrage, ob es dunkel ist, dann würde das Licht angehen.

    Grundsätzlich geht fast alles mit PHP oder kombiniert mit JS... bin grad nur nicht sicher, ob ich dich richtig verstanden hab? willst du den aktuellen Status vom Licht gerne auf der HTML-Seite dargestellt haben?

    also so wie hier auf dem Screenshot? Backofen und Kühlschrank sind an, Lampe für die Arbeitsplatte ist aktuell aus..
    pasted-from-clipboard.png

    >100 Shellies, darunter so gut wie alles was der Hersteller produziert hat. ;)
    :!: ich beantworte grundsätzlich keine Fragen per persönlicher Nachricht:!:

  • Hallo, nein ;)

    Ich habe Dein Script umgesetzt und habe einen Button. Wenn per Hand gedrückt wird, wird per onclick über Javascript php Datei angestuert. So weit so gut für diese Funktion.

    Ich würde folgendes gerne umsetzten:

    Das Garagentor wird per PHP geöffnet, Alarm per php ausgeschlatet und nun würde ich gerne auch das Licht per PHP einschalten. Bekomme es leider nicht hin, aus PHP Javascript anzusteuern, obwohl es mit echo einfach sein sollte.

  • Dieses Thema enthält 10 weitere Beiträge, die nur für registrierte Benutzer sichtbar sind, bitte registrieren Sie sich oder melden Sie sich an um diese lesen zu können.