HomeMatic und Shelly – so klappt es perfekt!

Der Shelly ist recht beliebt. Aber wie kann ich nun den Shelly so integrieren, dass er perfekt auch über die HomeMatic bedienbar ist? Genau das möchte ich Dir hier einmal kurz zeigen!

Vorbereitungen in der CCU

In der CCU muss unbedingt CuxD installiert sein. Denn in CuxD erstellen wir ein virtuelles Gerät, welches wir dann nutzen um den Shelly zu steuern. Hier zeige ich Dir einmal den Screenshot vom Gerät, welches ich erstellt habe:

Dieses Gerät lässt sich dann in der CCU selbst anpassen. Hierfür öffne ich nun Einstellungen in der Geräteübersicht und habe nun die Möglichkeit zwei Links zu hinterlegen, mit denen wir dann den Shelly ein – und ausschalten können.

Hier die benötigten Links:

CMD_SHORT: /usr/local/addons/cuxd/curl -s http://192.168.178.42/relay/0?turn~3doff
CMD_LONG: /usr/local/addons/cuxd/curl -s http://192.168.178.42/relay/0?turn~3don

Wichtig ist hier natürlich, dass Du den Link anpasst – das heisst die IP Adresse (in meinem Fall die 192.168.178.42) muss hier durch die IP angepasst werden, die Dein Shelly bei Dir im Netzwerk hat.

Wir können nun schonmal den Shelly über die HomeMatic steuern. Allerdings gibt es hier noch ein Problem. Steuerst Du den Shelly z.B. über eine App, dann bekommt hiervon die CCU nix mit. Daher müssen wir auch hier noch etwas modifizieren.

Einstellungen im Shelly

Wir können den Shelly so konfigurieren, dass dieser – sollte sich der Schaltzustand ändern – einen Befehl abschickt. Und diesen Befehl nutzen wir nun in der CCU um hier den Schaltzustand zu ändern.

Zunächst einmal benötigen wir allerdings die Adresse. Hierfür brauchst Du zwei Dinge – zum einen den Namen vom Kanal, der geschaltet werden soll (in meinem Fall Shelly) – zum anderen die IP Adresse der CCU. Danach schaut der Link so aus:

http://192.168.178.200:8181/cuxd.exe?ret=dom.GetObject(%27Shelly%27).State(0)

Hier ist es also wieder wichtig, dass Du die IP Adresse anpasst sowie den Namen, der geändert werden soll. Diese Infos müssen unbedingt getauscht werden. Am Ende des Links siehst Du in Klammern eine null.

Die 0 (dies ist eine null – nicht der Buchstabe O) lässt dann das Gerät ausschalten bzw. aktualisiert hier die Daten des Gerätes. Ersetzt Du nun die 0 mit einer 1, so weiss dann die CCU, dass das Gerät nun eingeschaltet ist.

Hier noch der Screenshot aus der Shelly Oberfläche mit weiteren Details:

Ist auch diese Einstellung vorgenommen worden, weiss nun auch die CCU, wenn Du den Shelly über die Shelly App steuerst. Die Einbindung ist also perfekt!

Video:

Kleines Update

Solltest Du auf Deiner CCU einen Benutzernamen und ein Kennwort vergeben haben, so muss unbedingt auch der Link, den Du im Shelly eingesetzt hast, angepasst werden. Hierzu einfach folgendes Schema nutzen:

http://Benutzername:Passwort@192.xxx.xxx.xxx

Dies dann gefolgt vom normalen Befehl. Aber wie gesagt – nur wenn auf der CCU ein Benutzername und Passwort gesetzt ist und eine Autentifizierung erfolgen muss. Bei einem weiteren Leser des Artikels (Danke Volker) hat dies allerdings nicht mit dem Admin Account geklappt – nur mit einem neuen Benutzer mit der Benutzer Berechtigung.

Damit die Status-Rückmeldung vom Shelly die CCU auch erreicht, muss dort zumindest der Port 8181 in der Firewall freigegeben werden.

Links:

Der Shelly bei Reichelt:

Einzeln: https://www.reichelt.de/shelly-1-wi-fi-wlan-schaltaktor-16-a-shelly-1-p267665.html?&trstct=pos_4&nbc=1

Im Doppelpack: https://www.reichelt.de/shelly-1-wi-fi-wlan-schaltaktor-16-a-2-stueck-shelly-1b-p267690.html?&trstct=pos_2&nbc=1

Oder natürlich bei Amazon:

Einzeln: https://amzn.to/3diujfQ

Im Doppelpack: https://amzn.to/2XHrIW5

Vielleicht auch interessant?

Beitrag teilen:

76 Kommentare. Hinterlasse eine Antwort

  • Hallo Stephan,

    Wie immer super Anleitung!!!
    Leider habe ich ein Problem bei der Umsetzung…

    Mein Shelly (Shelly1PM) reagiert nicht auf die URL „ https://192.168.178.42/relay/0?turn~3doff“ (IP ist angepasst).
    Er reagiert nur wenn ich diese „ https://192.168.178.42/relay/0?turn=off“ nutze.
    Also habe ich die Befehle in der homematic angepasst, aber diese ändert das „=„ immer wieder in „ ~3d“.
    Hast du eine Idee?

    Danke und Gruß,
    Jochen

    • Hallo! Das ist normal und eigentlich auch richtig so – denn die CCU kann nicht mit der Formatierung eines ? umgehen – darum wird’s angepasst.

      • Jochen Schmidt
        2. Juni 2020 18:19

        Hallo Stefan,
        Danke für deine Antwort.
        Möglicherweise habe ich mich nicht ganz klar ausgedrückt. Das „?“ ist nicht mein Problem… das „=“ ist mein Problem… Die Ursache könnte jedoch die Gleiche sein.
        Mein eigentliches Problem ist aber, dass der Shelly nicht auf die „umformatierte“ URL reagiert, das bedeutet im Umkehrschluss ich muss entweder den Shelly dazu bekommen, darauf zu reagieren oder die CCU3 dazu bekommen die URL nicht umzuformatieren.
        Hier die URL die in bei der CCU gespeichert wird: „https://192.168.xxx.xxx/relay/0?turn~3doff“. Diese funktioniert jedoch nicht wenn ich sie in die Adresszeile des Browsers eingebe (und auch nicht wenn ich das CUxD Gerät bediene). Nur wenn ich aus dem „~3d“ ein „=“ mache funktioniert es.
        Daher bräuchte ich eine Idee um eine der beiden Lösungsmöglichkeiten umzusetzen.
        Danke undGruß,
        Jochen

    • Sascha Hoffmann
      10. Juli 2020 10:08

      Hallo zusammen,

      geht mir auch so mit dem “=” und dem “~3d”. Welchen Lösungsansatz gibt es? Homematic scheint das “=” ja nicht zu speichern in der Web-Oberfläche.

      Danke und Gruß,
      Sascha

      P.S.
      Danke natürlich fuer das Tutorial. Wie immer 1A.

      • Stefan Guse
        26. Juli 2020 20:46

        Hallo,
        das Problem hatte ich auch. Ich habe folgende Befehle eingesetzt und damit funktioniert das:

        wget -q -O – ‘http://192.168.xxx.xxx/relay/0?turn~3doff’
        wget -q -O – ‘http://192.168.xxx.xxx/relay/0?turn~3doff’

        Gruß Stefan

      • Stefan Guse
        26. Juli 2020 20:51

        natürlich meine ich:
        wget -q -O – ‚http://192.168.xxx.xxx/relay/0?turn~3doff‘
        wget -q -O – ‚http://192.168.xxx.xxx/relay/0?turn~3don‘

      • Hallo zusammen, ich verwende den Vorschlag von Stefan Guse und kann das Problem da mit auch lösen. Gebe ich die Befehle in den Browser mit ~3d ein bekomme ich vom Shelly zwar eine Antwort aber er regt sich nicht. Getestet habe ich mit diversen Schalter-Einstellungen am Shelly.

        Habt ihr noch eine Idee, wie das Thema gelöst werden kann?

        Vielen Dank!

  • Prima Anleitung! Funktioniert sehr gut. Könntest du eine ähnliche Anleitung auch für die Shelly Dimmer erstellen?

  • Hallo Stefan,
    ich schaue mir deine Videos sehr gerne an!

    Leider funktioniert bei mir auch nicht die Shelly-Einbindung. Wenn ich mit mit CuXD so wie du beschrieben hast einen Schalter erzeuge, wird beim Einschalten des Schalters weder das Symbol auf “Ein” gesetzt noch das Signal korrekt an den Shelly übermittelt.
    Im Systemlog von CuXD wird aber angezeigt das folgender Befehl abgesendet wurde:
    Jun 7 12:00:12 homematic-raspi daemon.info cuxd[1552]: system(CMD_LONG: /usr/local/addons/cuxd/curl -s https://192.168.178.53/relay/0?turn=on) exit(127) 0s

    Hast du eine Idee woran das liegen könnte?
    Wie bei meinem Vorredner auch, funktionieren die normalen http – Befehle für den Shelly tadellos.

    Danke für deine Hilfe
    Daniel

  • Jan Albrecht
    8. Juni 2020 13:59

    Hallo Stefan, Danke für die tolle Anleitung. Sie funktioniert auch grundsätzlich bei mir von den Befehlen her. Nur will das Shelly Weboberfläche die funktionierende Statusmeldung nicht richtig senden. (im Browser funktioniert der Befehl ohne Problem).

  • Hallo Stefan
    Danke für die Anleitung.
    Mit der im Shelly Forum habe ich es nicht hingekriegt.
    Ich würde aber noch auf die Ergänzung im Aktualisierung Code im Shelly hinweisen wenn die CCU Passwort geschützt ist. Im Browser geht der Code meist ohne diesen Zusatz da der Browser Benutzer und Passwort bereits kennt.
    Eintrag in Shelly Actions: https://Benutzername:Passwort@192.xxx.xxx.xxx.usw.
    Ich habe ne Stunde verbraten um herauszufinden warum bei mir der Status in der Homematic nicht aktualisiert wird.

  • Uwe Brennfleck
    14. Juli 2020 20:12

    Hallo Stefan,

    leider funktioniert die Rückmeldung vom Shelly an die Raspberrymatic nicht,
    Folgende Befehle:
    http://192.168.xx.xx:8181/cuxd.exe ret=dom.GetObject(%27KuecheArbeitsp.%27).State(0) od. (1)
    oder auch
    http://Admin:Passwort@192.168.xx.xx:8181/cuxd.exe ret=dom.GetObject(%27KuecheArbeitsp.%27).State(1)

    Passwort ist natürlich das richtige.

    Noch eine Idee?

    Gruß Uwe

    • Hallo

      das an aus habe ich hinbekommen aber die Statusänderung geht einfach nicht das ist der Wahnsinn bin über 5 std schon dran kann mr ihr jemand weiterhelfen…………..
      ich habe alles so gemacht wie in der Beschreibung mit pass und Benutzer ohne alles möglich es will einfach nicht klappen wo ist mein Fehler ist es evtl eine andere https Adresse wenn ja wie bekomme ich es raus bitte um Hilfe

  • Markus Wilczek
    16. Juli 2020 19:10

    Hallo Stefan,
    vielen Dank, diese Lösung ist genau daß was ich gesucht habe und funktioniert perfekt.
    Funktioniert das auch mit einem Schelly 2.5 um damit eine Rolladensteuerung direkt in der CCU zu steuern.
    Ein Viedeo dazu wäre super.
    Vielen Dank

  • Genau das würd ich auch benötigen, wäre super wenn du uns da weiterhelfen könntest.
    Vielen Dank!

    >>Hallo Stefan,
    vielen Dank, diese Lösung ist genau daß was ich gesucht habe und funktioniert perfekt.
    Funktioniert das auch mit einem Schelly 2.5 um damit eine Rolladensteuerung direkt in der CCU zu steuern.
    Ein Viedeo dazu wäre super.
    Vielen Dank<<

  • Bei mir behält der Schalter die zwei Einträge “Switch cmd_short” nicht drinnen. Ich gebe sie ein – Übertragung erfolgreich… – jedoch wenn ich wieder einsteige sind die 2 Zeilen leer.

    Hast dafür eine Erklärung?
    herzlichen Dank – Mario

    • Günter Rickert
      18. Januar 2022 0:33

      Hallo Mario,
      genau das hatte ich heute morgen auch, das ist so wenn du die orginale CCU3 Software drauf hast.
      Selbst bei dem Channel wo du es eintragen kannst, funken die Befehle nicht.
      Grund: /usr/local/addons/cuxd/curl das Verzeichnis cuxd (CuxD war aber drauf) gibt es dort nicht und somit den Befehl curl auch nicht
      Da es eine neuere Version von CuxD gibt wollte ich den zuerst einmal aktualisieren. Wie soll es anders sein, mittendrinn einen Stromausfall und nichts ging mehr ausser ftp Zugriff. Lange Rede kurzer Sinn, ich habe die SD Karte neu geflasht und da ich schon lange RespberryMatic testen wollte direkt dieses Image geflasht. Es ging wieder alles.
      Dann habe ich nach /usr/local/addons/cuxd/curl geschaut. das Verzeichnis cuxd war da und auch der Befehl curl. Also nochmal getestet und siehe da den einzelnen Channels konnte ich verschiedene short und long Befehle zuweisen und die blieben erhalten. Das schalten hat auf Anhieb funktioniert. Beim Shelly 2.5 konnte ich ohne Probleme die zwei Ausgänge seperat schalten.
      Danach habe ich noch mit der Statusmeldung an RespberryMatic Probleme gehabt, da hat Torsten (2 post tiefer) mir den richtigen Weg gezeigt

  • Daniele Lucia
    29. August 2020 15:10

    Hallo

    das an aus habe ich hinbekommen aber die Statusänderung geht einfach nicht das ist der Wahnsinn bin über 5 std schon dran kann mr ihr jemand weiterhelfen…………..
    ich habe alles so gemacht wie in der Beschreibung mit pass und Benutzer ohne alles möglich es will einfach nicht klappen wo ist mein Fehler ist es evtl eine andere https Adresse wenn ja wie bekomme ich es raus bitte um Hilfe

  • Leider klappt es bei mir auch nicht den Status in der CCU anzuzeigen
    habe zich verschiedene adressen probiert.
    evtl liegts an der Firmware der CCU ? habe aktuelle (3.53.30.20200919)

  • Mit den aktuell im Text befindlichen links hat’s bei mir anfangs auch nicht geklappt, immer wieder Exit 124 glaube ich im CuxD, habe dann aber festgestellt das es funktioniert wenn man das s bei https entfernt. Und schwupps schon funktioniert’s! Danke für die tolle Erklärung!

    Grüße aus dem Ruhrpott

  • Hi zusammen,
    ich hätte da mal ne Frage.
    Gibt es auch ne Anleitung wie ich ein Shelly RGBW2 in HomeKit einbinden kann?
    Vielen Dank schon mal
    Gruß Kevin

  • Christian Hiemer
    31. Oktober 2020 21:54

    Hello….

    Also ich komme auch nicht weiter mit der Rückmeldung vom Shelly irgendwie passt die url nicht, auch die mit der Cuxd ID geht auch nicht verstehe es leider net 🙈 alles versucht PC zeigt mir immer ON an 🙄🙄

  • Mario aus A-Town
    8. November 2020 23:20

    Hallo Stefan.
    Vielen Dank für die Super Anleitung, allerdings hatte ich so meine Probleme mit der Einrichtung des Shelly1: Status-Übertragung + Schaltbefehle.

    Nach Stundenlanger Versuche, habe ich denn endlich alles hin bekommen:

    Wichtig vorab ist die Zusatzsoftware für die Homematic: XML-API: zur Status-Übermittlung (ohne ging es bei mir nicht).
    Natürlich die Port-Freigabe in der Firewall der Homematic: (Port:8181)
    Ich ging wie folgt vor:

    CUxD / Geräte / CUxD Gerätetyp / (28) System / Exec / Name z.b. (Shelly1 Test) / Icon aussuchen / Schalter / Erzeugen.
    In CUxD habe ich mir dann unter Status / Aktuelle Geräte, den CUX-Name des erzeugten Gerätechannel’s rausgesucht: z.b. CUX2801005:1
    Auf diesem Channel wird später auch der Schaltbefehl angezeigt.
    CUxD schließen und das Gerät in der Homematic anlernen.

    Shelly habe ich mit der Originalen Firmware belassen.
    Um den Shelly einzurichten:
    Shelly mit Strom versorgen (230V) / Handy per W-Lan mit Shelly verbinden / im Handy Browser folgende IP verwenden: http://192.168.33.1 / es öffnet sich die Setting Seite des Shellys und das ohne Cloud.
    Unter Internet&Security / WIFI Mode Client / WLAN Name des Router’s + Passwort eintragen und Häkchen setzen / Speichern (Save).
    Nachdem Verbinde ich mein Handy wieder mit meinem Router, suche die vergebende IP des Shelly raus und vergebe eine feste IP!

    Wider zurück in die Homematic:
    Die Geräteeinstellung im Kanal 1 aufsuchen: und die befehle sowie die feste IP Adresse des Shelly’s eintragen, wie in deiner Beschreibung (ohne S bei HTTP!)
    Auf die Namensgebung des Shelly’s habe ich keine Rücksicht genommen.
    Der Shelly ließ sich schalten, soweit so gut (halt ohne MQTT Server/Service; siehe Konsole)

    Nun noch die Status-Übermittlung:
    Die Eingabe des Web Befehl führt bei mir zu keinerlei Schalt-Aktion im Shelly, aber wenn der Befehl richtig ist, ändert sich schon mal der Status in der Homematic (Neustart der Homematic kann zwischendurch erforderlich sein).

    Um den Shelly weiter einzurichten, die feste IP im WEB Browser öffnen und unter Actions die befehle wie folgt eintragen:

    OUTPUT SWITCHED ON URL
    http://Benutzenname:Passwort@192.168.???.??:8181/x.exe?ret=dom.GetObject(“CUxD.CUX???????:1.SET_STATE”).State(1)

    OUTPUT SWITCHED OFF URL
    http://Benutzenname:Passwort@192.168.???.??:8181/x.exe?ret=dom.GetObject(“CUxD.CUX???????:1.SET_STATE”).State(0)

    Benutzername und Passwort von der Homematic sowie der Channel des CuxD Gerätes ergänzen.
    Die ” können mit (%22CUxD.CUX???????:1.SET_STATE%22) eingetragen werden…
    Beide Haken bei Enabled setzen+Speichern+ Neustart

    Das war es!
    Jetzt sollte alles Funktionieren: Stand November 2020

    Ich hoffe dem ein oder anderen hilft das…
    Mein Projekt ist ein Smarter Bewegungsmelder von Busch und Jäger mit dem Shelly zum übermitteln des Schaltbefehls (Vorhandene Bewegungsmelder Smart machen für 10€)

    MfG Mario aus A-Town

    • Hallo Mario,

      vielen Dank für die ausführliche Anleitung! Du hast mir sicherlich einige Stunden Arbeit erspart. Wenn man das hier befolgt funktioniert es einwandfrei.

      Viele Grüße
      Max aus H

    • Hallo Mario, du scheinst dich damit sehr gut auszukennen.
      Ich haben einen Shelly 2.5 verbaut, ich kann beide Kanäle von der Homematic aus steuern. Aber leider funktioniert die Rücmeldung des Shelly an die Homematic nicht. Kennwort:Passwort eingegeben, die auch “Befehlzeile” von deinem Tip im Shelly eingegeben etc. Trotzdem klappt’s nicht. Hättest du noch eine Idee?

    • genau das war es jetzt läuft der shelly 1 Danke

  • Klappt perfekt, sogar mit den Plug S und den Rückmeldungen, allerdings darf Küche nur Kueche geschrieben werden, und leerzeichen darf auch nicht.
    Super Anleitung

  • Ich habe nun fast alle Varianten zur Statusrückmeldung in der URL im Shelly eingetragen. Die Schaltung funktioniert und wenn ich im RaspberryMatic den ausgewählten Raum noch einmal anwähle, oder unter den Favoriten auf Startseite klicke, dann aktualisiert der Status?! Also offenbar bekommt die RM den Status mit, aber aktualisiert die Ansicht nicht…?!

    Hat jemand eine Idee?

    • Vielleicht interessant: Ich habe nun statt Microsoft Edge Chrome den Firefox geöffnet. Da wird der Status sauber angezeigt und auch gewechselt. Keine Ahnung, welche Einstellung da in Edge dies verhindern. Könnte aber bei einigen ein Problem sein…

  • In den Kommandos die über CMD_SHORT und CMD_LONG an den Shelly geschickt werden steht im Artikel noch https. Verschlüsselung kann der Shelly nicht. Hier muss http stehen.
    Für die Status-Rückmeldung vom Shelly mit Benutzername:Passwort hat das bei mir mit dem Admin Nutzer der CCU-Einrichtung nicht funktioniert. Erst mit einem zusätzlich angelegte “normalen” Nutzer der Berechtigung “Benutzer”.
    Damit die Status-Rückmeldung vom Shelly die CCU auch erreicht, muss dort zumindest der Port 8181 in der Firewall freigegeben werden. Im Video wird das kurz erwähnt. Im Text habe ich es nicht gefunden.

    • Hallo Volker: “You made my day” Ich probiere seit 4 Tagen die Rückmeldung der Shelly zur Homematic. Habe aber heute erst Deine Nachricht hier unten gelesen. Ich habe es IMMER mit dem Adminaccount probiert. Heute habe ich einen “normalen” Benutzer angelegt. JETZT GEHT ES.
      DANKE !!!!

      Es grüßt ein erleichterter Michael

      @ Stephan: Das solltest du evtl. in Deinem Update oben ergänzen…

  • Hallo Zusammen,

    nachdem auch ich nun mehrere Stunden damit verbracht habe den Status im WebUI darzustellen – und nicht zustande bekommen habe – darf auch ich meine Erfahrung mitteilen und um mithilfe bitten:

    Ich habe die Anweisungen von Stefan genau befolgt. Die Schaltung über die WebUI funktioniert tadellos. Das heißt ich kann über Homematic den Shelly an und aus schalten. Schalte ich jedoch den Shelly über die Shelly Plattform, dann beginnt der Shelly sich fortlaufend ein und auszuschalten und hört nicht mehr auf die damit verbunden Lampen blinken zu lassen.

    Hat jemand eine Idee?

    Folgender Eintrag bei OUTPUT SWITCHED ON URL: http://192.168.178.xx:8181/cuxd.exe?ret=dom.GetObject(%27Mauer%27).State(1)
    und bei OUTPUT SWITCHED OFF URL: http://192.168.178.xx:8181/cuxd.exe?ret=dom.GetObject(%27Mauer.SET_STATE%27).State(0)

    Ergebnis: Schaltung im Homematic funktioniert. Schaltung auf Shelly-Oberfläche lässt den Shelly fortlaufend ein und ausschalten. Im Homematic wird der Status laufend geändert (ein/aus/ein/aus…..).

    Wäre toll wenn mir jemand helfen könnte, es läuft ja schon fast 😉

    Danke LG Mario

  • Hallo zusammen,

    ich bin relativ neu in der Homematic-Welt und neu hier auf der Seite, aber habe mir schon etliche der Tutorials angeschaut, die wirklich super sind.

    Da ich gestern und heute ziemlich lange daran rumgedoktort habe, bis ich es ans Laufen bekommen habe, wollte ich einmal meinen Lösungsweg beschreiben, in der Hoffnung, dass ich damit auch jemandem helfen kann. Ich habe meinen Shelly direkt nach Inbetriebnahme im Webinterface (ohne App) mit einem Passwort versehen.

    Kurz meine Umgebung:
    – CCU 3 (Firmware 3.55.5)
    – CUxD (Version 2.5)

    Ich bin in allen Punkten dem Tutorial gefolgt. Alles mit Ausnahme des Schaltens des Shellys aus der CCU heraus hat funktioniert. Ich habe den Short- und Long-Command in den Geräteeinstellungen der CCU nun folgendermaßen einkonfiguriert, was bei mir jetzt endlich funktioniert.

    /usr/local/addons/cuxd/curl -s ‘http://benutzer:passwort@192.168.0.xxx/relay/0~3fturn~3doff’
    /usr/local/addons/cuxd/curl -s ‘http://benutzer:passwort@192.168.0.xxx/relay/0~3fturn~3don’

    Unter Windows konnte ich im Firefox den Shelly beliebig schalten. Unter Linux (Raspian) wurden meine Anfragen im Browser abgelehnt. In der Konsole hat ein wget keinen Fehler geschmissen, aber auch nichts bewirkt. Deshalb bin auf die Idee gekommen auch von der CCU in Richtung Shelly den Login mitzusenden.

    wget funktioniert jetzt, sowohl in der Linux-Konsole als auch in den CCU-Geräteeinstellungen:
    wget -q -O – ‘http://benutzer:passwort@192.168.0.xxx/relay/0~3fturn~3doff’
    wget -q -O – ‘http://benutzer:passwort@192.168.0.xxx/relay/0~3fturn~3don’

    Beste Grüße
    Norman

    • Hallo Norman,

      welchen Befehl hast du im Shelly hinterlegt um den Status im Homematic WebUI wiederzugeben.
      Bei OUTPUT SWITCHED ON URL: ???
      und bei OUTPUT SWITCHED OFF URL: ???

      Vielen dank für die Info.
      LG Mario

  • Ich meinte natürlich Hochkommata und nicht Prozentzeichen.

  • Mal so ne Frage, eine Geräte fangen bei mir beim ausschalten und dann Senden an die Homematic an zu blinken und klickern wenn dieser Befehl drin ist.
    http://192.168.115.80:8181/cuxd.exe?ret=dom.GetObject(%27dimmer%27).State(1)
    Ist enabled der Haken raus, also nicht aktiv, keine Probleme.

    • Den Fehler gefunden? Ich habe leider das gleiche auftreten ;-(

    • Wenn du den Haken “Enabled” in der Shelly-Oberfläche deaktivierst, dann aktualisiert sich jedoch auch nicht mehr der Status in RasperryMatic.
      Es hat scheinbar etwas mit dem Timer in Verbindung mit Benutzer:Kennwort zu tun.
      Ohne Timer und mit Benutzer:Kennwort funktioniert es. Ebenso mit Timer und ohne Benutzer:Kennwort.

      Ich habe daraufhin den Timer im Shelly ausgeschaltet und einen Timer in RasberryMatic programmiert:

      Name:
      EG Flur Licht Timer

      Beschreibung:
      Schaltet das EG Flurlicht nach 10 Minuten automatisch aus

      Bedingung: Wenn…
      Geräteauswahl VG-Shelly:1 bei Schaltzustand: ein bei Änderung auslösen

      Aktivität:
      Geräteauswahl VG-Shelly:1 verzögert um 10 Minuten Schaltzustand: aus

  • Hallo Mario,

    irgendetwas ist jetzt beim Kommentieren durcheinander geraten, bitte nicht verwirren lassen. Der erste Kommentar wurde irgendwie nicht übernommen, stattdessen nur meine zwischenzeitliche Korrektur.

    Beim Rest habe ich mich, wie gesagt am Tutorial orientiert, mit dem kleinen Unterschied, dass mir aufgefallen ist, dass die Hochkommata nicht unbedingt maskiert werden müssen. Da ich aktuell auf meiner CCU kein Passwort eingerichtet habe, habe ich dort folgendes einkonfiguriert, was auch direkt auf Anhieb funktioniert hat.

    http://192.168.0.xxx:8181/cuxd.exe?ret=dom.GetObject('Shelly1_1_01‘).State(1)
    http://192.168.0.xxx:8181/cuxd.exe?ret=dom.GetObject('Shelly1_1_01‘).State(0)

    Wichtig ist, dass man nicht den Gerätenamen (bei mir “Shelly1_1”) sondern den des einzelnen Schaltaktors (bei mir “Shelly1_1_01”) unterhalb des Gerätes einträgt.

    Beste Grüße
    Norman

  • Tom Krüger
    22. Januar 2021 12:53

    Hallo Stefan,

    Von mir gibt es auch ein Lob. Mal wieder ein super Beitrag.
    Mich würde es auch sehr interessieren, wie das mit dem Shelly Dimmer klappt.

    Viele Grüße Tom!

  • Zuerst vielen Dank für den Beitrag der mir sehr geholfen hat.

    Allerdings wird mit der aktuellen Vorgehensweise auch die Funklast (Stichwort Duty Cycle…) erhöht da bei jeder Statusaktualisierung aus die Shellys über
    http://192.168.abc.xyz:8181/cuxd.exe?ret=dom.GetObject(%27Kanalname_in_der_CCU%27).State(1 oder 0)
    von der CCU auch jedesmal wieder ein entsprechender Funkbefehl an den Shelly zurückgesendet wird ( analog der Einträge in CMD_SHORT und CMD_LONG im Device der CCU).
    Lösung wäre hier z.B. die Schaltbefehle wie im Artikel beschrieben über das CuxD Device abzubilden, den realen Status des Shelly aber in einer Systemvariablen in der CCU abzubilden.

  • Hallo und Danke für die guten Tutorials. Ich habe zwar einen Shelly ans laufen bekommen, stelle mir aber jetzt die Frage, wo trage ich weitere ein (in die Channels? Wäre dann begrenzt) und wie viele Shellies kann ich in die Homematicsteuerung integrieren? Wenn möglich mit Screenshots. Wäre super und vielen Dank!

  • Karl-Heinz Six
    1. März 2021 14:34

    Hallo und Danke für die vielen guten Anregungen und Lösungen. Ich habe ein Problem mit den Parametern in der Geräteeinstellung. Habe 2 Shelly 1 und 2 Shelly 2.5. Die Schaltung der Shelly 1 funktioniert mit den vorgegebenen Parameter. Bei den Shelly 2.5 steuert er mir aber nur einen Kanal an.
    Welche Parameter muß ich eingeben um Relay 1 oder 2 anzusteuern.
    Sind hier Eistellungen nötig?

    SWITCH|CH_PARAM1
    SWITCH|CH_PARAM2
    SWITCH|CH_PARAM3
    SWITCH|CH_PARAM4
    SWITCH|CH_PARAM5
    SWITCH|TIMER_PRESET
    SWITCH|CMD_TIMER
    SWITCH|PARAMETER
    Danke für Ihre Hilfe.

  • —– Aktualisierung Shelly Schaltzustand —–

    Hallo Stefan
    bis vor kurzem nutzte ich 2 St. Shelly 1, welche ich über je ein Kanal des CUxD in die CCU3 eingebunden habe.
    Die Rückmeldung des jeweiligen Schaltzustands erfolgt per Skript:
    ! Statusaktualisierung von Shelly-Aktoren ###################
    ! Statusaktualisierung von Shelly-Aktor Licht Gang OG
    var url = “http://192.168.(xx.xx)/relay/0/status”;
    var cux_device = “CUxD.CUX2801002:9”;
    var cux_exec = “CUxD.CUX2801004:9”;

    dom.GetObject(“”#cux_exec#”.CMD_SETS”).State(“wget -q -O – ‘”#url#”‘”);
    dom.GetObject(“”#cux_exec#”.CMD_QUERY_RET”).State(1);
    string Status = dom.GetObject(“”#cux_exec#”.CMD_RETS”).State();
    dom.GetObject(“”#cux_exec#”.CMD_SETS”).State(“0”);
    if (Status.Contains(“\”ison\”:false”)) {
    dom.GetObject(“”#cux_device#”.SET_STATE”).State(0);
    }
    if (Status.Contains(“\”ison\”:true”)) {
    dom.GetObject(“”#cux_device#”.SET_STATE”).State(1);
    }
    das funktioniert bei zwei perfekt.
    Mit zusätzlichen Shellys (8Stk.) konnte meine CCU3 die normalen Programme (Licht etc.) nur verzögert wiedergeben…. sodass eine Verzögerung zwischen Tastendruck und Licht ein von bis zu 15 Sek. entstand. Nachdem ich die Shelly Status Abfrage deaktiviert habe, funktioniert es wieder normal.
    Hast du Erfahrungen wie ich die Stati abrufen kann (benötige sie fürs NEO) ohne die Last so zu erhöhen?
    Vielen Dank
    Beste Grüsse
    Chris

  • Hallo Stefan, ich versuch nun schon einige Zeit meinen ersten Shelly 1 in die CCU3 einzubinden. Das hat auch soweit nach deiner Anleitung funktioniert. Nur der Status des Shelly’s wird nicht an die CCU zurückgegeben. Ich habe schon alle Verbindungseinstellungen, die hier im Post genannt worden sind ausprobiert. Leider funktioniert es nicht. Auch ein Zurücksetzen des Shelly’s und erneute Versuche brachten keinen Erfolg. Hier sind die aktuellen Einstellungen im Shelly

    https://xxxx:xxxx@192.168.178.33:8181/cuxd.exe?ret=dom.GetObject(%27Shelly%27).State(1) ……………………..oder (0)

    Der Gerätename in der CCU3 lautet “Shelly” oder als Geräteeinstellung 2CUX2801002″ und der User und Passwort sind im Link enthalten.

    Der Port 8181 in der CCU3 ist freigegeben. CCU3 und Shelly laufen im selben WLAN.

    Was mache ich falsch? Wäre für einen Hinweis dankbar.

    Viele Grüße Udo

    • Hallo Stefan, hat sich erledigt. Bin nach nochmaligem Durcharbeiten der Anleitung selber dahinter gekommen. Sehr gute Anleitung, wenn man das macht was auch steht 😉 . Danke und viele Grüße aus dem Münsterland, Udo

      • Hallo Udo,
        wäre schön, wenn du auch deine Lösung präsentieren würdest…

        Gruß
        Da

  • Hat schon mal jemand mit der direkten und bidirektionalen Kopplung von Shelly und Homematic versucht, den Shelly am Schalteingang schnell ein- und wieder auszuschalten (passierte mir, wenn ich den falschen Serienschalter erwischt hatte)? Die Folge war ein nicht mehr enden wollendes Ein- und Ausschalten. Zunächst konnte ich mir nur mit der Sicherung vor dem Shelly helfen. Jetzt habe ich bei der Aktion für das Ausschalten des Shellys (und nur dort!) im State einfach eine Verzögerung von 1000 ms ergänzt:
    …State(0,1000)
    Und damit ist alles “etwas loser” gekoppelt.

  • Hallo Stefan,
    habe das Ganze für den Shelly Plus 1 angewandt. Die Oberfläche ist ja etwas anders. Die Statusübermittlung klappt allerdings nicht. Statt Actions habe ich Webhook genommen und es mit “Output on/off” bzw. “Input on/off” probiert, aber es funktioniert nicht. Braucht man evtl. einen anderen Befehl?
    Vielen Dank für Deine Antwort und ganz viele Grüße!

  • Hallo zusammen,

    habe das ganze mit meinem Shelly Plus 1 ausprobiert; und nutze das gerade mit iobroker statt CCU, aber ist im Prinzip das Gleiche: Status vom Shelly zu iobroker per Webhook; schalten des Shelly vom iobroker über die o. g. Zugriffe auf die Shelly-Api (turn=on/off oder toogle; alternativ Switch.Set oder Toggle). Beide Richtungen funktionieren auch.

    Ich habe aber ein Problem: Wenn ich den Status per API vom iobroker verändere, schaltet das Licht. Ich sehe (über GetStatus) auch eine Veränderung bei “output” mit Source “http”. Wenn ich dann aber das erste Mal danach am Shelly selbst den Lichtschalter (input, konfiguriert als Schalter, der bei jeder Veränderung das output “toggelt”) bediene, passiert nichts. “input” ändert sich, aber output nicht. Erst beim nächsten Schaltvorgang ändert sich auch der output.

    Firmware-Version ist 0.8.1.

  • Hallo zusammen,
    leider funktioniert es bei mir nicht. Habe schon alles mögliche versucht aber mein shelly1 schaltet über die Homematic nicht. Übern Browser alles ok.
    Kann es sein da ich meherer CUxD instaliert habe das er nicht den richtihgen nimmt ?
    Hier meine Befehlszeile :
    CMD_LONG: /usr/local/addons/cuxd/curl -s http://XXXX:XXXX@192.XXX.XXX.XXX/relay/0?turn~3don

    Vielen Dank
    Gerhard

  • Hallo Gerhard.
    Versuche mal folgenden Befehl:
    wget -q -O – ‘http://XXX:XXX@192.168.XXX.XXX/relay/0?turn~3don’

  • Hallo Stefan,
    Vielen Dank für die gute Anleitung. Könntest Du vielleicht ein Update verfassen und zeigen, wie man ein SHELLY DIMMER 2 an die Homematic angebunden bekommt?

  • Matthias T.
    16. Januar 2022 16:01

    Guten Tag, erstmal danke für die tolle Anleitung.
    Mal eine Frage:
    Hast du dich schonmal mit den Shelly HT als Raumthermostate beschäftigt?
    Gibt es da eine Möglichkeit?
    Ich betreibe die RaspiMatic und ein Openhab System. Leider finde ich im Netz de Datenpunkte für die eTRV-2 nicht. Ich würde gern die kleinen und mobilen Shelly HT nutzen um Homematic die Temperatur des Raumes mitzuteilen.

    LG Matze

  • Wie immer eine sehr genaue Anleitung!

    Befehle falls http Passwort in Shelly gesetzt ist:
    Ein: /usr/local/addons/cuxd/curl -u Dein_Login:Dein_Passwort -s http://Shelly_IP_Adresse/relay/0?turn~3don
    Aus: /usr/local/addons/cuxd/curl -u Dein_Login:Dein_Passwort -s http://Shelly_IP_Adresse/relay/0?turn~3doff

  • Mario aus A-Town
    5. September 2022 20:35

    Hallo Stefan. Ich habe eine weitere Ergänzung zu diesem Thema: Ich musste leider drei mal feststellen, dass wenn man nicht aufpasst, andere dieses ausnutzen, bis ich den Fehler korrigiert hatte. Nach einiger Zeit, habe ich mich gewundert, warum ich nicht mehr wie gewohnt, auf meine CCU zugreifen kann. Nachdem ich herausfand, das die CCU komplett zurück gesetzt wurde, ärgerte ich mich darüber und setzte diese wieder neu auf. Das geschah insgesamt 3X, bis ich drauf kam, es könne ja auch ein “Angriff” von außerhalb sein….. Firewall und Portfreigabe hatte ich stets genau eingerichtet! Ich suchte bei den von mir eingerichteten Shelly’s und stieß auf folgendes: Wenn ich dem Shelly ein Kommando/Schaltbefehl versenden lasse (OUTPUT SWITCHED ON URL oder OUTPUT SWITCHED OFF URL) muss ich mein Benutzername und Passwort hinterlegen (z.B. http://BENUTZER:PASSWORT@192.168.188.40:8181/x.exe?ret=dom.GetObject(“CUxD.CUX2801019:1.SET_STATE”).State(1) ). Hierbei scheint es nicht schlau zu sein, einen Admin-Zugang der CCU zu nutzen!!! Wie schon erwähnt 3X Neuinstallation. Ich änderte das ganze, in dem ich ein Benutzer anlegte, der nur Gast rechte hat, vergab ein Generator erstelltes Passwort, und siehe da: Problem gelöst… Ich behaupte mal das weiß jemand zu nutzen… Ich hoffe wieder mal etwas beigetragen zu haben. MfG Mario aus A-Town

  • Ganz wichtiger Hinweis:
    Der Befehl http://***:***@192.168.178.77:8181/cuxd.exe?ret=dom.GetObject(%27shellyname%27).State(1) hat einen großen Haken, der vermutlich für viele Fehlerbilder, z.B. das Blinken das hier manchmal genannt wurde, zuständig ist.

    Die Zeile funktionierte zwar offensichtlich und macht scheinbar genau das was sie soll: Der Status in der CCU wird korrekt gesetzt. Allerdings aus dem falschen Grund. Um genau zu sein schickt die Zeile den Befehl los, den Einschaltknopf in Homematic zu drücken, wodurch zwar der Homematic Status geändert wird, letztlich aber auch nochmal der Schaltbefehl gesendet wird. Und das quasi immer wieder in Dauerschleife.

    Erstaunlicherweise funktioniert das irgendwie solange keine weiteren Funktionen, wie etwa ein Timer, ins Spiel kommen.

    Verwendet also unbedingt eine Variante die in etwa so aussieht, wichtig ist der Teil SET_STATE.

    z.B. http://192.168.x.x:8181/66er.exe?Antwort=dom.GetObject(“CUxD.CUX2800011:1.SET_STATE”).State(1)

    Der Knackpunkt das SET_State! Dadurch wird nicht der Schaltbefehl angeschubst sondern ausschließlich der Status geändert.
    Hinter CUxD. steht in diesem Fall übrigens die Seriennummer aus der Homematic Geräteübersicht.

    Damit funktioniert das bei mir deutlich stabiler!

    Dieser Kopplungsbefehl kommt aus dem shelly-support.eu forum.

    Grüße
    Tobias

  • Hallo Stefan,
    vielen Dank für deine Anleitungen.
    Meine Frage zum Shelly Plug S:
    1. Wie kann ich per Homematic den Stromverbrauch aufzeichnen ?
    2. Wie kann man eine Nachricht schicken, wenn die Waschmaschine fertig ist (Stromverbrauch am Shelly Plug S sinkt unter einen bestimmten Wert) ?
    Vielen Dank
    Jürgen

  • Hallo zamm,
    genau das letzte Thema suche ich auch gerade – Stromverbrauch des Shelly PluG S (bzw. Eingang aus einem Balkonkraftwerk) in einem Diagramm in der CCU aufzeichnen. Hat da einer Ideen zu?

  • info@da-siebert.de
    21. November 2022 12:34

    Um bei einen Schelly 2,5 den 2.-Kanal anzusteuern einfach den Link /usr/local/addons/cuxd/curl -s http://192.168.xxx.xx/relay/0?turn~3don
    anpassen. Die 0 Steht für Kanal 1 und die 1 für Kanal 2
    /usr/local/addons/cuxd/curl -s http://192.168.xxx.xxx/relay/1?turn~3don

  • Hallo zusammen,
    vielen Dank für die Anleitung. Ich habe diese erfolgreich mit den Gen1 Shellys umgesetzt und es funtioniert tadellos. Jetzt habe ich mittlerweile Gen2 Geräte, wie einen Shelly Plus 2PM. Leider funktioniert dir Richtung HM an Shelly nicht.
    Ich verwende…
    /usr/local/addons/cuxd/curl -s http://192.168.178.118/rpc/Switch.Set?id=0&on=false
    /usr/local/addons/cuxd/curl -s http://192.168.178.118/rpc/Switch.Set?id=0&on=true
    zum ein/ ausschalten. Die Statusänderung an HM senden funktioniert jedoch tadellos. Dazu hab ich zwei Webhook’s eingerichtet, welche die Statusänderung an das CuxD Gerät senden.
    Mich würde auch interessieren, welche Ergänzung ich eintragen muss, wenn ich im Shelly die Authorisierung aktiviert habe. Bei den Gen1 Geräten ergänze ich den Benutzernamen:Passwort hinter der IP. Bei den Gen2 Geräten muss ich nur ein Passwort eingeben, ohne Benutzernahmen.
    Vielen Dank schon mal für Eure Hilfe.

  • Peter Scholl
    4. Januar 2023 18:13

    Hi – bei mir hat das mit den Namen in den URLs für die Shelly-Rückmeldungen nicht geklappt. Ich musste
    http://homematic-raspi:8181/cuxd.exe?ret=dom.GetObject(“CUxD.CUX2801001:1.STATE”).State(0)
    verwenden (also den kompletten “Kanalnamen” !? aus der CUxD

  • Hallo,
    danke erstmal für die Prima Anleitung. In Kombination mit https://www.kreyenborg.koeln/shelly-schalter-in-homematic-integrieren/ hat die erste Einrichtung eines Shelly in Homematic (Raspberry CCU) prima geklappt.
    Aber: Wie ist der Link der an den Shelly gesendet wird, wenn der Shelly selbst mit einem Passwort geschützt ist? Da ich nur ein Passwort setzen kann und keinen User scheint das http://user:pw@…. nicht zu klappen.

  • oliver krause
    25. März 2023 16:43

    Hallo Stefan, vielen Dank für Deine vielen nützlichen und hilfreichen Videos und Tutorials!
    Ich habe da noch ein Problem mit der Umsetzung dieser Anleitung, da dies voraussetzt, dass der Shelly Switch ohne Kennwortschutz verbleibt.
    Die Option /usr/local/addons/cuxd/curl -u username:kennwort -s http://192.168.178.42/relay/0?turn~3doff hat leider bei meinem Shelly Plus 1PM mit der Firmware 0.14.1 nicht funktioniert.

Du musst angemeldet sein, um einen Kommentar abzugeben.

Weitere ähnliche Beiträge auf verdrahtet.info: