Shelly plus 1
Moderator: seppy
- binderj1
- Beiträge: 20
- Registriert: 11. Dez 2021 09:43
- Wohnort: Windigsteig
Shelly plus 1
Hallo
Ich bin neu bei openHAB, darum vielleicht eine dumme Frage. Wie kann ich ein "Shelly plus1" einbinden? In der Binding finde ich sie nicht.
danke
Gruß Hannes
Ich bin neu bei openHAB, darum vielleicht eine dumme Frage. Wie kann ich ein "Shelly plus1" einbinden? In der Binding finde ich sie nicht.
danke
Gruß Hannes
openHAB 3.2.0 auf einem Raspberry Pi 3 Model B+
-
- Beiträge: 125
- Registriert: 8. Dez 2020 19:29
Re: Shelly plus 1
Hi,
so wie es aktuell aussieht: Nicht über das Shelly-Binding
Habe selbst gerade 2 Shelly plus 1PM bekommen und bin gerade am versuchen, die per MQTT einzubinden...
Aber irgendwie funktioniert das nicht so recht...
Die haben nicht einmal einen sauberen LWT-Status...
Ich werd jetzt mal einen probehalber auf Tasmota flashen...
Dann läuft der auf jeden Fall im OH
Das würde ich dir auch empfehlen
so wie es aktuell aussieht: Nicht über das Shelly-Binding
Habe selbst gerade 2 Shelly plus 1PM bekommen und bin gerade am versuchen, die per MQTT einzubinden...
Aber irgendwie funktioniert das nicht so recht...
Die haben nicht einmal einen sauberen LWT-Status...
Ich werd jetzt mal einen probehalber auf Tasmota flashen...
Dann läuft der auf jeden Fall im OH
Das würde ich dir auch empfehlen
-
- Beiträge: 590
- Registriert: 20. Sep 2019 05:49
Re: Shelly plus 1
Der Entwickler ist dabei,das Binding zu aktualisieren.
Es gibt wohl derzeit einige neue Geräte. Habt etwas Geduld.
https://community.openhab.org/t/shelly- ... 56862/2307
Es gibt wohl derzeit einige neue Geräte. Habt etwas Geduld.
https://community.openhab.org/t/shelly- ... 56862/2307
- binderj1
- Beiträge: 20
- Registriert: 11. Dez 2021 09:43
- Wohnort: Windigsteig
Re: Shelly plus 1
Danke für eure Info.
auf Tosmota flashen ist mir zu aufwendig (keine Ahnung wie das geht).
Ich warte mal bis die neue Binding da ist
DANKE
LG Hannes
auf Tosmota flashen ist mir zu aufwendig (keine Ahnung wie das geht).
Ich warte mal bis die neue Binding da ist
DANKE
LG Hannes
openHAB 3.2.0 auf einem Raspberry Pi 3 Model B+
-
- Beiträge: 7
- Registriert: 12. Sep 2019 10:37
Re: Shelly plus 1
Ich habe mein Shelly Plus 1 über MQTT am laufen. Auch das schalten klappt nach etwas Startschwierigkeiten.
Ich hänge mal meine Channel Config an. Der Shelly Plus 1 tickt etwas anders als die Alten.
Incoming Value Transformations
Outgoing Value Format
Ich hänge mal meine Channel Config an. Der Shelly Plus 1 tickt etwas anders als die Alten.
Incoming Value Transformations
Code: Alles auswählen
jsonpath:$.output
Code: Alles auswählen
{ "method": "Switch.Set", "params": { "id": 0, "on": %s } }
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
-
- Beiträge: 1
- Registriert: 17. Jan 2022 11:06
Re: Shelly plus 1
Das ist super interessant. Mit welchem Beta-Stand der Firmware hast Du es hinbekommen?
Ich habe die neueste Firmware 0.9.2 drauf und gestern den Mosquitto mal auf DEBUG-Log gestellt und es wirkte so, als würde der Shelly Plus1 überhaupt keine Veränderungen seinen Status über MQTT senden.
Magst Du ggf. auch Deinen Konfiguration des Shelly hier zeigen?
- udo1toni
- Beiträge: 14049
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Shelly plus 1
Hast Du denn mqtt auf dem Shelly aktiviert? mqtt ist bei Shelly ein "entweder oder", also entweder CoAp (Shelly Binding), mit oder ohne Cloud, oder mqtt (ohne Cloud, da kein CoAp)
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.2.2, LXC), mit openHABian eingerichtet
-
- Beiträge: 2
- Registriert: 19. Jan 2022 13:10
Re: Shelly plus 1
Der Shelly sendet bei mir seine Status-Infos wenn du z.b. einen Schalter sendet, as of Version 0.9.2 der Firmware, auf einem MQTT-Topic "<shelly-name>/events/rpc". Der Toggle "RPC status notifications over MQTT" des Shelly ist an.MVO hat geschrieben: ↑17. Jan 2022 11:28Das ist super interessant. Mit welchem Beta-Stand der Firmware hast Du es hinbekommen?
Ich habe die neueste Firmware 0.9.2 drauf und gestern den Mosquitto mal auf DEBUG-Log gestellt und es wirkte so, als würde der Shelly Plus1 überhaupt keine Veränderungen seinen Status über MQTT senden.
Magst Du ggf. auch Deinen Konfiguration des Shelly hier zeigen?
Beim manuellen Bestätigen von Schaltern kommt bei mir da zwei separate Veröffentlichungen.
Die eine sieht so aus:
Code: Alles auswählen
{
"src": "<shelly-name>",
"dst": "<shelly-name>/events",
"method": "NotifyStatus",
"params": {
"ts": <number>,
"input:0": {
"id": 0,
"state": <boolean>
}
}
}
die andere PUBLISH enthält dieses JSON:
Code: Alles auswählen
{
"src": "shellyplus1-<name>",
"dst": "shellyplus1-<name>/events",
"method": "NotifyStatus",
"params": {
"ts": <number>,
"switch:0": {
"id": 0,
"output": <boolean>,
"source": "switch"
}
}
}
---
Habe eine gesamte Konfiguration mit der ich Erfolg habe hier mal beschrieben (auf Englisch). https://community.openhab.org/t/shelly- ... s/129109/7
Der Trick war am Ende, sich Zugang zu den Aktivitäten auf dem MQTT-Broker zu verschaffen, um zu sehen, auf welchen Topics der Shelly "zuhört", auf welchen Topics er wann was postet, und die die JSON-Inhalte aussehen. (Erreicht dadurch, Mosquoito auf debug-log all zu setzen, und dann mit mosquitto_sub interessante Topics abzuhören.) Dann war es auch möglich, die Konfiguration des MQTT-Bindings entsprechend aufzusetzen.
Abfrage des Online-Status geht auch. Das ist das Topic "<shelly-name>/online". Da kommt einmal ein PUBLISH "true" wenn der Shelly online gekommen ist, und eine "Last Will Message" mit Inhalt "false" wenn der Broker feststellt, das sich der Shelly unerwartet abgemeldet hat.
Ich will noch mal den gesamten Prozess von Aufsetzen des MQTT-Bindings forwärts öffentlich dokumentieren, aber das braucht noch etwas. Das verlinkte oben ist auf jeden Fall genug, um den Shelly zu verbinden, wenn man den MQTT-Broker und das Binding erfolgreich aufgesetzt und den Shelly dazu gebracht hat, sich mit dem Broker zu verbinden - as of versiom 0.9.2. Wer weiß was mit 0.9.3 passiert...
-
- Beiträge: 2
- Registriert: 19. Jan 2022 13:10
Re: Shelly plus 1
Und heute Abend direkt wieder etwas noch dazugelernt, was ich gestern überlesen hatte!
Für den momentanen Zustand des Relais ist diese Meldung die entscheidende:
Die andere Meldung kommt vorher und gibt einen Zustand des Schalters ("input:0" - nullindiziert) an. Switch ist dann der tatsächliche neue Zustand des Schalters.
Aber noch nett wenn man irgendwie den Zustand des Schalters irgendwie separat abgreifen möchte. Oder man den Schalter anders verwendet, da gibt's ja auch noch eine Fülle an Optionen.
Für den momentanen Zustand des Relais ist diese Meldung die entscheidende:
Code: Alles auswählen
{
"src": "shellyplus1-<name>",
"dst": "shellyplus1-<name>/events",
"method": "NotifyStatus",
"params": {
"ts": <number>,
"switch:0": {
"id": 0,
"output": <boolean>,
"source": "switch"
}
}
}
Aber noch nett wenn man irgendwie den Zustand des Schalters irgendwie separat abgreifen möchte. Oder man den Schalter anders verwendet, da gibt's ja auch noch eine Fülle an Optionen.
-
- Beiträge: 590
- Registriert: 20. Sep 2019 05:49
Re: Shelly plus 1
Hallo,FjerHAB hat geschrieben: ↑19. Jan 2022 13:30 ... Das verlinkte oben ist auf jeden Fall genug, um den Shelly zu verbinden, wenn man den MQTT-Broker und das Binding erfolgreich aufgesetzt und den Shelly dazu gebracht hat, sich mit dem Broker zu verbinden - as of versiom 0.9.2. Wer weiß was mit 0.9.3 passiert...
ich habe das mal mit einem Shelly Plus 1PM aufgebaut.
Mit MQTT.fx erhalte ich u.a. folgende Antwort:
Code: Alles auswählen
{
"src" : "shellyplus1pm-7c87ce637f30",
"dst" : "shellyplus1pm-7c87ce637f30/events",
"method" : "NotifyStatus",
"params" : {
"ts" : 1.64304880276E9,
"switch:0" : {
"id" : 0,
"temperature" : {
"tC" : 44.16,
"tF" : 111.49
}
}
}
}
Jetzt habe ich mal testweise den Shelly als Thing angelegt und nur den Temperatur-Channel verlinkt.
Code: Alles auswählen
UID: mqtt:topic:01144906ea:shellyplus1pm-7c87ce637f30
label: Shelly Plus 1PM
thingTypeUID: mqtt:topic
configuration: {}
bridgeUID: mqtt:broker:01144906ea
location: Test
channels:
- id: test_temperatur
channelTypeUID: mqtt:number
label: Temperatur
description: null
configuration:
commandTopic: JSONPATH:$params.switch:0.temperature.tC
stateTopic: shellyplus1pm-7c87ce637f30/events/rpc
transformationPattern: JSONPATH:$params.switch:0.temperature.tC
Habe ich in der Konfiguration etwas übersehen?