Shelly Pro Dimmer 2PM

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

marcel.lamp
Beiträge: 2
Registriert: 18. Okt 2022 08:16
Answers: 0

Shelly Pro Dimmer 2PM

Beitrag von marcel.lamp »

Hallo zusammen,
ich möchte gern einen Shelly Pro Dimmer 2PM in Open Hab einbinden.
Leider finde kein Binding kann es sein das es das noch noch gibt ?
Könnte ich den auch anders einbinden ?

Freue mich über eine Rückmeldung

Benutzeravatar
peter-pan
Beiträge: 2758
Registriert: 28. Nov 2018 12:03
Answers: 30
Wohnort: Schwäbisch Gmünd

Re: Shelly Pro Dimmer 2PM

Beitrag von peter-pan »

Schau mal im Add-On-Store ->Bindings in der Main-UI. Da solltest du eigentlich fündig werden:
shelly.jpg
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.3.5 openhabian

Benutzeravatar
udo1toni
Beiträge: 15240
Registriert: 11. Apr 2018 18:05
Answers: 242
Wohnort: Darmstadt

Re: Shelly Pro Dimmer 2PM

Beitrag von udo1toni »

Ansonsten ginge auch immer noch die Einbindung mittels mqtt :) das beherrschen die Shelly Geräte auch alle.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

manes
Beiträge: 224
Registriert: 23. Jul 2020 17:49
Answers: 0
Wohnort: Kreis Wesel

Re: Shelly Pro Dimmer 2PM

Beitrag von manes »

und, hat es geklappt?
---------------------
liebe Grüße Manfred

fd0cwp
Beiträge: 1
Registriert: 18. Mai 2023 20:15
Answers: 0

Re: Shelly Pro Dimmer 2PM

Beitrag von fd0cwp »

Ich habe mit verschiedenen Shelly Modellen Probleme. Teilweise wohl, weil sie von OH noch gar nicht unterstützt werden, teilweise wegen der aktuellen Firmware Version.
Diese binde ich dann über MQTT ein. Zum Ein-und Ausschalten und Statusabfrage reicht es.

Benutzeravatar
udo1toni
Beiträge: 15240
Registriert: 11. Apr 2018 18:05
Answers: 242
Wohnort: Darmstadt

Re: Shelly Pro Dimmer 2PM

Beitrag von udo1toni »

Über mqtt sollten sich die Shelly Geräte alle vollständig steuern lassen. Allerdings ist die API... nunja... Murks, um es mal freundlich zu formulieren.
Letztlich muss man alles zu Fuß konfigurieren, jeden Pfad, jeden Wert, und teilweise muss man weite Umwege gehen, um triviale Funktionen zu steuern.

Ich habe all meine Shelly Devices mit Tasmota geflasht (ich habe nur solche Geräte, die auch kompatibel sind...) und damit ist die vollständige Steuerung vergleichsweise ein Kinderspiel.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

runa
Beiträge: 29
Registriert: 10. Feb 2023 12:30
Answers: 0

Re: Shelly Pro Dimmer 2PM

Beitrag von runa »

Hallo liebes Forum,

ich habe das gleiche Problem und bekomme meinen ProDimmer2PM nicht über Openhab zum laufen. Bin eher Anfänger und Tasmota flashen ist daher für mich kein ganbarer Weg.

Ich habe aber das MQTT Binding installiert und beim ProDimmer2PM auch MQTT aktiviert. Nur hab ich keine Ahnung wie ich jetzt z.B. Einen an/aus Chanel meines Shelly's über MQTT in openhab bekomme. Vielleicht kan mir jemand ein Screenshot oder ähnliches senden

besten Dank

Benutzeravatar
udo1toni
Beiträge: 15240
Registriert: 11. Apr 2018 18:05
Answers: 242
Wohnort: Darmstadt

Re: Shelly Pro Dimmer 2PM

Beitrag von udo1toni »

Screenshot nicht, aber als ersten Anhaltspunkt hier die API Doku: https://shelly-api-docs.shelly.cloud/ge ... Dimmer2PM/
wobei der interessante Teil unter https://shelly-api-docs.shelly.cloud/ge ... tt-control startet.

Das heißt, das commandTopic wird so aussehen: <topic_prefix>/command/<component:id>, wobei <topic_prefix> gerätespezifisch ist und <component:id> mutmaßlich light:0 bzw. light:1 heißt. Und dann wird es vermutlich Set als Topic geben, wobei dort dann eine JSON Payload hingeschickt werden muss:

Code: Alles auswählen

{"id":0,"brightness":<value>}
Diese Payload musst über formatBeforePublish erzeugt werden, <value> wird dabei durch ein %f ersetzt, also so:

Code: Alles auswählen

formatBeforePublish: '{"id":0,"brightness":%f}'
Weil die Payload selbst doppelte Anführungszeichen enthält, muss der String mit einfachen Anführungszeichen markiert werden.

In der Gegenrichtung sollte das stateTopic dann so aussehen: <topic_prefix>/status/<component:id>, sinngemäß wie oben.
Das Topic liefert dann ebenfalls ein JSON zurück, also braucht es ein passendes transformationPattern, so:

Code: Alles auswählen

transformationPattern: JSONPATH:$["light:0"].brightness
Wobei die API Doku hier ein konkretes Beispiel schuldig bleibt, es wäre also nicht ganz unwichtig, die echte gelieferte Payload mittels MQTT Explorer (oder einem ähnlichen Werkzeug) anzuschauen und den JSONPath notfalls erst mal anzupassen.
Da ich selbst keinen solchen Dimmer habe, ist der Pfad halt nur geraten :)
Der Dimmer hat nur einen Thing Channel (bzw. zwei, weil es ja ein Doppel-Dimmer ist)! Es gibt keinen extra Channel zum Ein- oder Ausschalten, das geschieht durch Helligkeit 0 bzw. 100 (oder eben den gewünschten Helligkeitswert)

Wahlweise kann man in das Set Command JSON auch noch eine Dimmzeit eintragen, mit einem weiteren Datenpunkt, transition_duration, was die Dauer des Blendvorgangs in Sekunden angibt. Allerdings ist das wohl immer auf Start- und Ziel bezogen, sprich, bei einer fixen transition_duration 10, braucht der Dimmer immer diese 10 Sekunden, egal ob nun von 0 % auf 100 % gedimmt wird oder von 95 % auf 90 %.

Eventuell geht das Dimmen auch nur über den rpc Channel... habe ich schon erwähnt, dass Shelly das alles maximal komplex gestaltet und die (eigentlich sehr gute) Doku hier auch nicht eben hilfreich ist?
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

runa
Beiträge: 29
Registriert: 10. Feb 2023 12:30
Answers: 0

Re: Shelly Pro Dimmer 2PM

Beitrag von runa »

Hallo Udo1toni,

auf Dich ist Verlass, du beantwortest hier sehr viel. Wie gesagt bin ich Anfänger und kann meinem Shelly im MQTT Explorer beim Arbeiten zusehen. Auf zwei Bildern sieht man wenn er light ID:0 ein- bzw. ausgeschalten ist.

Bild 1 : Promimmer2-Licht ID0 Eingeschalten

Bild

Bild 2 : Prodimmer2-Licht ID0 ausgeschalten

Bild

Im MQTT Explorer sieht man beim Ein- und Ausschalten des Dimmers den Wechsel von output true zu output false aber ich hab noch nicht mal verstanden was ich im MQTT Explorer eingeben müsste um diesen Statuswechsel zu inizieren und somit bin ich wohl noch viele Schritte vom Einbinden des Shellies über MQTT ins OH entfernt. Irgendie sieht es nicht nach einem einfachen Topic sondern nach einem langen String aus ?
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Benutzeravatar
udo1toni
Beiträge: 15240
Registriert: 11. Apr 2018 18:05
Answers: 242
Wohnort: Darmstadt

Re: Shelly Pro Dimmer 2PM

Beitrag von udo1toni »

Der output Parameter ist für openHAB irrelevant, es zählt hier ausschließlich brightness. Sobald die Steuerung über openHAB erfolgt, wird da dann bei ausgeschaltetem Licht auch zuverlässig eine 0 stehen :)
Wie es aussieht liefert Shelly das JSON ja getrennt pro Channel aus, entsprechend musst Du die Topics ergänzen.
Beispiel:

Code: Alles auswählen

UID: mqtt:topic:mosquitto:shellyprodm2pm_1
label: Shelly pro Dimmer 2 pm 1
thingTypeUID: mqtt:topic
configuration:
  payloadNotAvailable: "false"
  availabilityTopic: shellyprodm2pm-fce8c0d8c2ac/online
  payloadAvailable: "true"
bridgeUID: mqtt:broker:mosquitto
channels:
  - id: ch1
    channelTypeUID: mqtt:dimmer
    label: Dimmer Channel 1
    configuration:
      retained: false
      postCommand: false
      formatBeforePublish: '{"brightness":%d}'
      commandTopic: shellyprodm2pm-fce8c0d8c2ac/command/light:0
      step: 1
      stateTopic: shellyprodm2pm-fce8c0d8c2ac/status/light:0
      transformationPattern:
        - REGEX:(.*brightness.*)∩JSONPATH:$.brightness
  - id: ch2
    channelTypeUID: mqtt:dimmer
    label: Dimmer Channel 2
    configuration:
      retained: false
      postCommand: false
      formatBeforePublish: '{"brightness":%d}'
      commandTopic: shellyprodm2pm-fce8c0d8c2ac/command/light:1
      step: 1
      stateTopic: shellyprodm2pm-fce8c0d8c2ac/status/light:1
      transformationPattern:
        - REGEX:(.*brightness.*)∩JSONPATH:$.brightness
Neben mqtt müssen außerdem regex und jsonpath Transformation installiert sein.
Ob die Befehle so korrekt sind, weiß ich natürlich nicht.
Wie schon häufiger erwähnt stehe ich mit der Shelly Doku etwas auf Kriegsfuß...
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Antworten