Shelly PM lokale Steuerung

M@tze

Vice Admiral
Registriert
Dez. 2008
Beiträge
6.757
Hallo Forum,

ich bin komplett neu beim Thema Shelly und hätte mal eine Frage. Ich habe letzte Woche einen Shelly PM Mini Gen 3 in einer Steckdosenleiste verbaut, welcher per Szene einen Shelly Plug S ein-/ausschaltet, je nachdem wieviel Verbrauch an der Steckdosenleiste anliegt.

Hintergrund dazu ist, dass ich meine Heimelektronik in einem geschlossenen Lowboard verbaut habe und wenn verbrauchsintensive Hardware benutzt wird, schaltet der Plug S die intern verbaute Lüftung ein, damit die Geräte nicht zu warm werden. Hatte ich bisher anders gelöst, gefiel mir so aber besser. Funktionierte auch auf Anhieb super, aber nachdem das per Szene aktiviert wird, läuft das ja jedesmal über die Shelly Cloud, was ich bei diesem Fall für unnütz halte. Ich kann die 2 Geräte doch auch so per Script programmieren, dass diese sich direkt untereinander "unterhalten", oder? Beide haben ja BT und einen internen Webserver verbaut, welche durch die Szenenprogrammierung wohl deaktiviert wurden.

Wie gesagt, ich bin Neuling - wo fange ich da an?
 
Was ist an der Cloud so schlimm?

Kannst es via Webhook versuchen. ChatGPT sagt dazu:

Verwendung von Webhooks

  1. Öffne die Shelly-App und navigiere zum Shelly PM Mini Gen 3.

  2. Gehe zu den „Internet & Security“-Einstellungen und stelle sicher, dass der Shelly PM Mini Gen 3 und der Shelly Plug S beide in deinem lokalen Netzwerk sind.

  3. Füge eine Aktion hinzu:
    • Wähle „Aktion hinzufügen“ unter dem Menüpunkt „Timer & Aktionen“.
    • Wähle „Power“ als Auslöser aus und lege den Schwellenwert fest, bei dem die Aktion ausgelöst werden soll.

  4. Konfiguriere den Webhook:
    • Wähle „Webhook“ als Aktion.
    • Gib die URL ein, die den Shelly Plug S einschaltet:
    • Ersetze IP-DES-SHELLY-PLUG mit der tatsächlichen IP-Adresse des Shelly Plug S.

  5. Speichern und testen:
    • Speichere die Aktion und teste, ob der Shelly Plug S eingeschaltet wird, wenn die festgelegte Leistung überschritten wird.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: M@tze
SpiII schrieb:
Was ist an der Cloud so schlimm?
Ich habe immer mal wieder 1-4 Sekunden Verzögerung drin, bevor geschaltet wird. Außerdem sollte es auch funktionieren wenn mal kein Internet da ist. Da ich die Lüftung nicht höre, würde ich sonst eventuell erst merken dass da nix läuft, wenn dem Verstärker zu warm wird oder so was in der Art. ;)

Das mit den Webhooks klingt einfach, das schaue ich mir mal an - danke! :)

PS: ChatGPT fragen, da habe ich jetzt nicht dran gedacht...
 
  • Gefällt mir
Reaktionen: SpiII
@M@atze
M@tze schrieb:
Das mit den Webhooks klingt einfach, das schaue ich mir mal an - danke! :)
Wäre schön wenn du dazu dann noch was schreiben könntest.
Also ob es klappt und ob es so einfach ist, wie es die Anleitung impliziert.

M@tze schrieb:
PS: ChatGPT fragen, da habe ich jetzt nicht dran gedacht...
Mir fiel es nur ein, weil ein Freund damit am WE so "gernervt" hat. Korrekt ist da aber definitiv nicht alles.
Hat bspw. falsche Informationen zum Shelly Dimmer 2 (soll zwei getrennte Lichtgruppen steuern können laut ChatGPT; der Dimmer 2 hat aber nur einen Output).
 
  • Gefällt mir
Reaktionen: M@tze
Also du kannst bei den Shellys ja offline http Events auslösen. Gleichzeitig besitzen die Shellys auch http Adressen zum Schalten etc... in der Dokumentation von Shelly wirst du fündig.
Habe ich so noch nicht getestet, aber bei den Plug S und dem 3EM gibt es entsprechende Events.

Hier z.B.:
https://shelly-api-docs.shelly.cloud/gen2/0.14/Devices/ShellyPlusPlugS
 
  • Gefällt mir
Reaktionen: M@tze
Danke auch Dir! 😄👍🏻

Ich gebe ihr Rückmeldung, ob es funktioniert hat und wenn ja, wie.
 
Also ich habe das jetzt mal getestet, funktioniert auch im Prinzip, bei mir aber leider nicht so wie ich es mir gedacht habe. Ich muss mir das nochmal per Scripting anschauen.

Zum Einen hat sich der Syntax bei den Shelly Geräten der Gen 2 und 3 geändert, was bei ChatGPT steht ist noch Gen 1:
SpiII schrieb:
Gib die URL ein, die den Shelly Plug S einschaltet:

Richtig ist in meinem Fall beim Plus Plug S:

http://{shelly_plug_ip}/rpc/switch.set?id=0&on=true

Leider bin ich im Browser direkt auf den PM Mini drauf gegangen, da ich dachte das wäre komfortabler, habe das dort per Hand konfiguriert und habe mich gewundert dass es nicht funktioniert. Wenn man das Ganze direkt in der Shelly App macht, erkennt die das Zielgerät und setzt automatisch den richtigen Webhook ein.

Am Anfang habe ich auch versucht, die Verbindung per HTTP API zu testen und da hatte mir ChatGPT als Befehl ausgegeben:

http://{shelly_pm_ip}/status

Was in einem "Not Found" resultierte. Bei neuen Shelly Geräten ist das aber (zBsp. beim PM Mini):

http://{shelly_pm_ip}/rpc/PM1.GetStatus?id=0

Dann bekommt man einen JSON String mit den Werten zurück und sieht dass die Verbindung funktioniert.

Das größere Problem was ich habe ist, dass es beim PM Mini nur wenige vordefinierte Events gibt, die ich als Webhook benutzen kann und das sind nur Statusänderungen von Volt, Ampere oder Watt. Das nützt mir aber nichts, da ich nicht definieren kann ob die Änderung positiv oder negativ ist und ich auch keine absoluten Werte angeben kann. Wenn ich definiere "bei Verbrauchsänderung von >50 Watt = Steckdose ein", dann geht diese an wenn der Wert erhöht wird, aber auch an wenn das angeschlossene Gerät ausgeschaltet wird. Das ist echt mickrig was man da parametrieren kann... 😏
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: SpiII
Danke für die Rückmeldung. Habe zwar gehofft, aber mir schon gedacht, dass es nicht so einfach funktionieren wird. :/
 
  • Gefällt mir
Reaktionen: M@tze
Hast Du einen Rechner der dauerhauft läuft?
Ein NAS?
Installiere Home-Assistant. Der übernimmt die Wenn-Dann-Logik und schaltet die Geräte übers LAN/WLAN ohne dass Du Dir was zurechtprogrammieren musst.
 
@HisN

Danke für den Tip! Ich habe eine Raspi auf dem Homebridge läuft um meine Hue Geräte über Apple steuern zu können. Da könnte ich es doch mit drauf tun, oder?
 
Si. Allerdings ist das schon mit ein bisschen Arbeit verbunden.
Also z.b. beide Programme in einem Docker ausführen.

Die Frage wäre: Kann Home-Assistant nicht die Hombebridge gleich mit ersetzen, so dass Du da kein Hassle zwischen den beiden Systemen veranstaltest?

Auf jeden Fall ein frisches Backup vom Homebridge ziehen^^
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: M@tze
SpiII schrieb:
Habe zwar gehofft, aber mir schon gedacht, dass es nicht so einfach funktionieren wird. :/
Danke trotzdem für den Tip mit ChatGPT, ich habe da noch ein paar andere Anfragen hingeschickt und war etwas geflasht was die App mir als detaillierte Antwort zurückgebracht hat (auch wenn nicht alles syntaktisch richtig war) und auf Rückfragen reagiert hat. War krass... :D
Ergänzung ()

HisN schrieb:
Schau ich mir an, Danke! :)
Ergänzung ()

HisN schrieb:
Die Frage wäre: Kann Home-Assistant nicht die Hombebridge gleich mit ersetzen, so dass Du da kein Hassle zwischen den beiden Systemen veranstaltest?
Hatte ich mir auch überlegt, da muss ich mich erstmal in Home-Assistant einlesen. Danke aber trotzdem für den Hinweis. 👍
 
Zuletzt bearbeitet:
Zurück
Oben