Shelly MQTT Support

  • Hallo und guten Abend!

    Leider habe ich die richtige Ecke nicht gefunden. Das Thema gilt hier eher für alle Shelly Produkte.

    Ich würde gerne via MQTT bestimmte Settings machen. In diesem Fall wäre es "swap".

    Erwartet habe ich sowas in der Art:

    Code
    shellies/NAMEvomSHELLY/settings/roller/0/swap 1

    Das klappt aber leider nicht. Ich habe auch x andere Varianten getestet. Wenn ich z.B. einen normalen open/close command sende geht das wie man sich das denkt:

    Code
    open:noArg shellies/NAMEvomSHELLY/roller/0/command open
    close:noArg shellies/NAMEvomSHELLY/roller/0/command close

    Quelle der Idee:

    https://shelly-api-docs.shelly.cloud/#shelly2-5-settings-roller-index

    Das möchte ich auch nur testen, um zu sehen ob dann die PCT vom Shelly anders rum sind. Ich selber mag es nicht wenn ein Rollo komplett geöffnet ist und es zeigt mir 100% an. Ich sehe das genau anders rum. Die HM Kollegen hier werden mich gleich schlagen aber so hat jeder seine Vorlieben :)

    Danke euch allen schon einmal :)

    Prime-SmartHome-Solutions

    Selbstständiger SmartHome Berater. Von der Beratung bis hin zur Einrichtung

    :thumbup: Bei Fragen, einfach via PN melden :thumbup:

    • Offizieller Beitrag

    Hallo 87insane,

    Die „Ecke“ ist schon richtig, es betrifft ja den 2.5er im Shutter Mode. ?

    Ich selber mag es nicht wenn ein Rollo komplett geöffnet ist und es zeigt mir 100% an. Ich sehe das genau anders rum. Die HM Kollegen hier werden mich gleich schlagen aber so hat jeder seine Vorlieben :)

    Ja daran musste ich mich als Homematicer auch erst gewöhnen. Es liegt aber im Auge des Betrachters ob 100% offen oder geschlossen ist. Homematic sagt 100% offen 100% Ausblick.

    Aber ich kann dich gut verstehen. Schön wäre man könnte in der WebUI der CCU dies an seine Bedürfnisse anpassen.

    Für die MQTT-Problematk:

    versuche mal diesen Link und den Punkt „Positionsvorgabe in %“

    HTTP-Request Shelly 2.5

    Dann solltest Du auch erkennen ob z.B. 75% heißt 3/4 offen oder geschlossen. Meine Vorstellung!

    Ich setze selbst keine 2.5er für Rollläden ein, deshalb keine Gewissheit! ?

  • Ich denke ich habe es falsch formuliert...

    Es gibt so gesehen keine "Problematik". Es geht darum, dass ich "swap" anschalten möchte da mich die % Anzeige nervt. Laut Doku könnte es das Verhalten invertieren und ich bekomme die % anders rum.

    Hinzu ist es generell interessant zu wissen wie man Settings via MQTT senden kann. Da ich für FHEM das Template entwickle, wäre das sehr gut zu wissen. Die Positionsvorgabe in % hat damit nur in sofern zu tun, das diese dabei genutzt wird. Das klappt ja auch alles.

    Also: Problem = Settings via MQTT senden - Wie geht das?

    Prime-SmartHome-Solutions

    Selbstständiger SmartHome Berater. Von der Beratung bis hin zur Einrichtung

    :thumbup: Bei Fragen, einfach via PN melden :thumbup:

  • ja das ist alles richtig. Das normale senden von mqtt Kommandos geht ja auch. Allerdings würde ich gerne Swap aktiv schalten. Das wiederum sollte laut Doku im Zweig settings liegen. Bekomme das aber nicht an. Und genau da ist das Problem.

    Prime-SmartHome-Solutions

    Selbstständiger SmartHome Berater. Von der Beratung bis hin zur Einrichtung

    :thumbup: Bei Fragen, einfach via PN melden :thumbup:

    • Offizieller Beitrag

    Bezüglich Shelly 2.5 und MQTT habe ich folgendes unter der bereits verlinkten API-Beschreibung gefunden:

    Zitat

    MQTT in Roller mode

    When configured to operate in roller mode, MQTT topics used by Shelly2.5 are:

    • shellies/shellyswitch-<deviceid>/roller/0 reports the current state: open, close while in motion, stop when not moving.
    • shellies/shellyswitch-<deviceid>/roller/0/command accepts rc (performs roller calibration), open, close and stop.

    For position control to work the device must be successfully calibrated, so that the time it takes for closing and opening are known.

    • shellies/shellyswitch-<deviceid>/roller/0/pos reports the current position in percent
    • shellies/shellyswitch-<deviceid>/roller/0/command/pos accepts a number between 0 and 100, which is target position in percent.

    Vorweg:

    Ich kenne mich mit MQTT leider nicht aus, möchte aber trotzdem einen Hilfsversuch wagen.

    Da von der Funktion "Swap" da nichts steht, schlußfolgere ich mal, dass diese Funktion von der API nicht unterstützt wird.

    Was ich mir aus Erfahrung mit den http-Requests im Homematic-Umfeld vorstellen könnte, wäre - wenn mit MQTT möglich- folgender Workaround:

    Den Wert abfragen und vor der Visualisierung/Weiterverwendung auf das gewünschte Format umrechnen.

    also z.B. etwa so:

    Abfrage liefert 90 (fast offen) - gewünschter Wert ist aber 10

    zu erechnender Wert = Abfragewert -100

    90-100= -10

    nun noch das Minus-Zeichen vom String entfernen und man hätte das gewünschte Ergebnis.

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