Shelly-TRV und MQTT-Kommunikation (FW: 20211223-144805/v2.1.0@d30148ec)

  • Hallo zusammen,

    ich wünsche euch allen zunächst mal ein frohes neues Jahr. :sekt:

    Als absoluter Frischling hier in der Runde habe ich mal ein paar Fragen zu o.g. Thema. Ich habe gestern 7 TRVs geliefert bekommen und bin nun dabei die in meine Hausautomation zu integrieren. Als Zentrale dient mit dazu ein Timberwolf 2600. Das Ding beherrscht MQTT und auf dem guten Stück läuft auch der mosquitto-MQTT-Broker im Container. Diverse andere Shelly-Devices verrichten bereits sauber ihre Arbeit, sind integriert und problemlos ansteuerbar.

    Allerdings bereitet mir nun die Aktualität der MQTT-API-Doku leider ein wenig Kopfschmerz. Unter den dort benannten Topics sendet das TRV mit der o.g. Firmware definitiv nicht mehr. Dazu habe ich an anderer Stelle der Doku Hinweise gefunden und mit den entsprechenden Tools wie dem MQTT-Explorer kann ich die für mich zum Lesen relevanten Informationen identifizieren. Also nicht wirklich ein Problem.

    Aber wie sieht das mit dem Schreiben aus?

    04-01-_2022_19-33-19.jpg

    Also "shellies/shellytrv-<id>/thermostat/0/command/" und dann? Muss ich vorher via HTTP-API was vorbereiten und dann via "shellies/shellytrv-<id>/thermostat/0/command/settings" was triggern, oder muss ich mir das JSON als Payload zusammenbauen, wie unter der HTTP-Doku beschrieben und dann über das "shellies/shellytrv-<id>/thermostat/0/command/settings"-Topic senden?

    Mir ist klar, dass das Device noch nicht wirklich soooo ultimativ verbreitet ist und die MQTT-Anbindung dann noch dazukommt. Aber eventuell könnt ihr mir ja schon weiterhelfen.

    Danke! :)

    Beste Grüße

    Jens

  • Hier mal Beispiele (ungetestet !!)

    Target-Temperatur setzen (25 Grad)

    shellies/shellytrv-(id)/thermostat/0/command/target_t 25

    Profil setzen (Profil 1 auswählen)

    shellies/shellytrv-(id)/thermostat/0/command/schedule_profile 1

    lässt du die shellytrv-(id) im Topic weg gilt das für alle Shellies.

    Wenn du Settings ändern willst, dann wir ein vollwertiges JSON erwartet:

    shellies/shellytrv-(id)/command settings '{"name": "Thermostat-Wohnzimmer"}'

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

  • Hallo zusammen,

    ich habe das nun mal probiert....

    Auf das Topic "shellies/shellytrv-<id>/thermostat/0/command/settings"

    habe ich nun das JSON

    [script]{"display": {"flipped": true}}[/script]

    geschickt. Fazit, im MQTT-Explorer ist das genau so zu sehen, aber das Thermostat schert sich nicht drum. :/

    In der Doku macht mich die Formulierung hier "settings will trigger piblishing the content of http /settings endpoint" halt auch ein wenig stutzig.

    Der grundsätzliche Weg klappt. Das Beschicken von "shellies/shellytrv-<id>/thermostat/0/command/target_t" mit der gewünschten Zieltemperatur wird sofort umgesetzt.


    Beste Grüße

    Jens

  • In der Doku macht mich die Formulierung hier "settings will trigger piblishing the content of http /settings endpoint" halt auch ein wenig stutzig.

    ja, du hast recht.. jetzt wo ich das lese hab ich das vermutlich auch falsch interpretiert. ich hatte das selbst nie getestet.

    Im Internen Dokument, was wir zum Testen bekommen haben steht dazu
    "causes topic shellies/shellytrv-(id)/settings to be emitted with json message representing all the settings, including schedule profile names etc".
    und genau das passiert: eine Weile, nachdem ich da eine Message an das ensprechende Topic schicke sendet der TRV seine kompletten Settings per MQTT.

    Sorry, das war mein Fehler :saint:

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

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