Treppenhausbeleuchtung steuern

  • Hallo zusammen,

    ich hoffe mir kann hier jemand einen Anstoß zum Skript geben.

    An einem Shelly I4 hängen zwei BWM.

    Damit soll ein Dimmer 2 geschaltet werden, als auch zwei RGBW. An den RGBW hängen weiße Streifen, insgesamt sind es 6 Streifen. Diese sollen mit einem Abstand von 1 sek. hintereinander eingeschaltet werden. Wenn Eingang 1 von rechts nach links einschalten und Eingang 2 von links nach rechts.

  • Hallo Satalaner,

    hier wäre ein Treppenhaus Script zu finden:

    GitHub - m-schaeffler/ShellyScripts: Scripts for 2nd Gen Shelly Devices
    Scripts for 2nd Gen Shelly Devices. Contribute to m-schaeffler/ShellyScripts development by creating an account on GitHub.
    github.com

    Doch was du suchst, ist eher speziell, leider besitze ich weder Dimmer2 noch RGBW, du kannst ja mal versuchen ein Skript zu erstellen und wenn du net weiterkommst, greife ich dir gerne unter die Arme.

  • Hier ist auch eins,

    Priamos
    19. Juni 2022 um 12:19
  • Vorab, das ist das erste mal das ich versuche sowas zu bauen, da werden ne Menge Fehler drin sein. Wäre super wenn ihr mir hier weiterhelft. z.b. Wie hole ich mir die Info vom Dimmer2 ob der Ausgang geschaltet ist?

    Einmal editiert, zuletzt von Satalaner (25. Oktober 2023 um 14:29)

  • API Reference

    Da der Dimmer 2 ein gen1 ist sollte das mit http://ip_des_Shellys/status möglich sein, also über einen Shelly.call('HTTP.GET',{url: 'http://ip_des_Shellys/status'}, Callback); .

    Du solltest dich zuerst nur auf eine Sache konzentrieren und wenn das klappt Stück für Stück mehr hinzufügen.

    Bsp. Zuerst nur einen Befehl an deinen RGBW schicken und schauen ob der das so ausführt.

    In deinem http.get call hast du mehrere URLs drin stehen, jedoch funktioniert das so nicht. Du überschreibst einfach mehrfach den URL-Parameter, wirklich versendet wird nur die letzte URL.

    Außerdem beachte bitte, dass man nicht mehr wie 5 calls gleichzeitig nutzen kann und jeder HTTP-call ungefähr 1-15 Sekunden benötigt. Du benötigst also wahrscheinlich eine Call Warteschlange, oder du lässt das mit dem turn=off Timer=x weg und nutzt einfach nen richtigen Timer, Beispiel: Timer.Set(5*1000, false, Callback);

    "Callback" ist eine separate Funktion, die angelegt werden muss function Callback(r){print(r);}. Sie muss nicht unbedingt "Callback" genannt werden, sondern der Name kann frei gewählt werden. Die Funktion wird asynchron am Ende des Shelly-Calls oder wenn die Timer-Zeit abgelaufen ist, ausgeführt, man muss selbst definieren, welcher Code genau in der asynchronen Funktion steht, je nach Logik/Anwendungsfall.

    14 Mal editiert, zuletzt von _[Deleted]_ (25. Oktober 2023 um 19:26)

  • Dieses Thema enthält 105 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.