MQTT Gateway mit Shelly Plus/Pro (Gen2)

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • Mex
    Smart Home'r
    • 11.10.2018
    • 48

    #1

    MQTT Gateway mit Shelly Plus/Pro (Gen2)

    Hallo zusammen

    Zuerst hoffe ich dass ich bei den Plugins richtig bin... Ansonsten bitte entsprechend verschieben. Danke!

    Ich habe bei mir einige Shellies am Laufen.
    Alles aber noch etwas ältere Modelle (Gen 1) wie Shelly 1, Shelly Dimmer, Shelly 1 PM etc...
    Jetzt habe ich mir einen Shelly Plus i4 besorgt.
    Dieser ist aber wie es scheint nicht mehr auf die gleiche Art einzubinden wie die alten.
    Wenn ich mich nicht irre muss man hier mit mJS arbeiten/scripten.
    Damit komme ich aber anscheinend nicht klar.
    Denn ich bekomme absolut nichts vom i4 zum MQTT Gateway. Die Verbindung vom Shelly zum Gateway wird allerdings als "connected" angezeigt.
    Ich möchte einfach so wie früher eine 1 bei Tastendruck und sonst soll es 0 sein.

    Ich habe auch schon ein paar Scripte aus der Library geladen. Ohne Erfolg.

    Hat hier evtl. jemand schon einen i4 in Betrieb?

    Wäre super wenn mir hier jemand auf die Sprünge helfen könnte.

    MQTT Gateway ist auf Version 2.1.0
    Loxberry ist auf Version 2.2.1.2

    Danke schon mal.

    mfg

    Mex
    Zuletzt geändert von Mex; 07.10.2022, 10:32.
  • Mex
    Smart Home'r
    • 11.10.2018
    • 48

    #2
    Hallo zusammen.

    Ich habe es mittlerweile hinbekommen.
    Sollte es also noch jemanden interessieren hier kurz wie ich das umgesetzt habe.

    MQTT Enstellungen:

    MQTT Prefix: shellies/"Shelly-Name"
    Client_ID: "Shelly-Name"

    Servereinstellungen sowie User und Passwort sollten klar sein.


    Als Script habe ich das mqtt-switch-status.js File aus der Library genommen.
    In diesem sollte dann sowas stehen:

    let CONFIG = {
    switchId: 0,
    MQTTPublishTopic: "shellies/Shelly-i4-HK/me/telemetry",
    };

    Shelly.addStatusHandler(function (notification) {
    if (notification.component !== "switch:" + JSON.stringify(CONFIG.switchId)) return;
    if (typeof notification.delta.output === "undefined") return;
    MQTTAnnounceSwitch(notification.delta.output);
    });

    function MQTTAnnounceSwitch(status) {
    let announceObj = {
    SWITCH: status ? "ON" : "OFF",
    };
    MQTT.publish(CONFIG.MQTTPublishTopic, JSON.stringify(announceObj), 1, true);
    }



    Wenn das so eingerichtet ist sollte der Shelly i4 und vermutlich auch die anderen Pro/Plus Modelle, den Status der Schalter/Taster an das MQTT Gateway weiter geben.

    mfg

    Mex

    Kommentar

    • AlexAn
      Lebende Foren Legende
      • 25.08.2015
      • 4323

      #3
      Shelly Plus per MQTT - LoxWiki - LoxWiki (atlassian.net)
      Grüße Alex

      Kommentar

      • Schu13L
        Azubi
        • 02.08.2023
        • 2

        #4
        Hallo Mex,

        ich besitze einen Shelly Plus 2PM und
        versuche mich gerade an der Script Programmierung. Da ich aber keine Kenntnisse an js habe tue ich mich schwer einen StatusHandler zu schreiben.
        Könntest du mir dabei evtl. behilflich sein.
        Ich benötige einen Handler der bei switch 0 apower Änderung auslöst.

        Für Deine Hilfe wäre ich dankbar.

        VG
        Peter
        Zuletzt geändert von Schu13L; 02.08.2023, 09:19.

        Kommentar

        • AlexAn
          Lebende Foren Legende
          • 25.08.2015
          • 4323

          #5
          Aktuell braucht man nur für den BT Taster und DW ein Skript und alles andere ist eine Topic Sache!
          Grüße Alex

          Kommentar

          • Schu13L
            Azubi
            • 02.08.2023
            • 2

            #6
            Hallo Alex,

            die Antwort verstehe ich ncht.
            Ich benötige den Handler um abhängig vom apower des switch:0 den switch:1 zu schalten.

            VG
            Peter

            Kommentar

            • AlexAn
              Lebende Foren Legende
              • 25.08.2015
              • 4323

              #7
              Logik immer im Miniserver und nicht im Skript!
              Shellies werden wie KNX dumm gemacht und als reines Ein/Ausgabe Modul verwendet.

              Klicke auf die Grafik für eine vergrößerte Ansicht  Name: image.png Ansichten: 0 Größe: 19,2 KB ID: 398923

              So sind alle Events getrennt voneinander und können genutzt werden und das betrifft den Eingang, die Leistung und den Ausgang (sollte man ohnehin immer nur von einer Logik aus ansteuern - Miniserver)
              Zuletzt geändert von AlexAn; 02.08.2023, 18:04.
              Grüße Alex

              Kommentar

              Lädt...