NEWS
[Adapter] Shelly Adapter mit MQTT
-
@eumats , Fehler ist bekannt. Hat aber keine Auswirkungen auf die Funktionalität. In der Version 3.0.3 ist der behoben
-
Hallo,
ich habe nun auch einen Shelly 1PM.
Das anbinden mittels Shelly Adapter v3.0.8 über MQTT ging auch wunderbar.
Nun habe ich aber das Problem, das ich über IOBroker nicht schalten kann. Wenn ich über die Webseite ein oder ausschalte, dann aktualisiert es das auch im IOBroker, wenn ich aber im Switch "true" oder "false" eintrage, dann passiert nix.
Am Ende möchte ich darüber meinen Trocker schalten.
Hat jemand eine Idee was ich machen kann?
VG
Lindi -
@lindi200000 , sollte funktionieren und ich habe ein paar Geräte im Einsatz
- Hast Du noch andere Shelly's im Einsatz und funktionieren die?
- Hast Du im Shelly und ioBroker auch QoS 0 eingestellt?
- Stimmen Username und Passwort von MQTT in ioBroker und Shelly überein? Das ist nicht das Shelly Cloud Passwort oder das Shelly Web Passwort
- Leider hast Du den Hostnamen geschwärzt. Steht dort eine interne IP Adresse oder Hostname? Ist der Hostname auch wirklich der Shelly der dort steht? Versuche einmal den Aufruf http://<hostname>.
- Steht irgendetwas auffälliges im ioBroker Logfile wenn Du schaltest? Wenn nicht, dann debug Modus für den Shelly aktivieren und nochmals schalten und ins Logfile schauen.
-
@Stuebi thx für die Tipps, bin nochmal alles durchgegangen und jetzt klappt es. Ist mein erster Shelly Adapter.
-
Hallo Zusammen,
hab meinen ersten Shelly1 in Aktion gebracht!
In Unwissenheit hab ich ihn über MQTT eingebunden ... hat wunderbar geklappt.
Jetzt habe ich diesen Adapter gefunden, der mir weit aus besser gefällt, schon allein wegen der vielen Infos und Einstellungen. An der Stelle herzlichen Dank für deine Mühe, Stuebi!!!Jetzt zu meinem Anliegen:
Es war über MQTT möglich den Status des Schalters zu sehen, hier seh ich ihn nicht mehr ... gibt es da alternative Optionen um diesen auszulesen?
Danke und schönes WE wünsche ich
Grüße Plasma
-
@Plasmachef sagte in [Adapter] Shelly Adapter mit MQTT:
ar über MQTT möglich den Status des Schalters zu sehen, hier seh ich ihn nicht mehr ... gibt es da alternative Optionen um diesen auszulesen?
den Status des Schalters siehst Du über den Datenpunkt
shelly.0.SHSW-1#XXXXXX#1.Relay0.Switch
. Du kannst darüber den Status ändern und ablesen. D.h. wenn Du z.B. den Status per Lichtschalter änderst, wird die Statusänderung inshelly.0.SHSW-1#XXXXXX#1.Relay0.Switch
angezeigt (true = on / false = off. Möchtest Du das Licht an bzw. aus schalten musst Du den Wert anshelly.0.SHSW-1#XXXXXX#1.Relay0.Switch
auf true oder false setzen.
Wenn Du Dich jetzt fragst, wie kann ich denn sicherstellen, dass der Status den ich per ioBroker gesetzt habe auch wirklich beim Shelly angekommen ist, geht das wie folgt. Wenn Du den Status z.B. von false auf true setzt dann ist das Werte Feld rot (d.h. acknowledge (ack) = false). Wenn die Bestätigung vom Shelly kommt, das der Wert wirklich auf true gesetzt wurde, wird das Feld grün (ack = true). Wahrscheinlich kommt die Bestätigung so schnell, das das Feld immer grün bei Dir ist.Was es aber nicht gibt im Gegensatz zum MQTT Adapter, ein Datenpunkt zum setzen des Status un einen anderen Datenpunkt zum ablesen des Status.
Ich hoffe ich konnte Deine Frage beantworten?
VG
Stübi -
Danke dir für die schnelle und sehr ausführliche Antwort!
Sicherlich habe ich mich ungenau ausgedrückt:
Mit Schalter meine ich den Hardware-Schalter, den ich ja direkt am Shelly1 öffnen und schließen kann.
Leider spiegelt aber der Datenpunkt ".....Switch" nicht den Schalter wieder sondern das geöffnete bzw. geschlossene Relais.
Somit kann ich zwar über den Schalter bei entsprechenden Einstellungen über die Webseite das Relais ein und ausschalten und damit synchron zum Relais mich verhalten ... aber wenn ich den Datenpunkt "....Switch" anspreche, ändert sich ja nicht der "Hardware-" Schalter, dieser bleibt unbeeindruckt auf offen oder geschlossen stehen (was ja auch völlig verständlich ist).
MQTT hat da 2 Datenpunkte zur Darstellung: Den Schalter und das RelaisKonnte ich mich verständlich machen?
Grüße Plasma
-
@Plasmachef sagte in [Adapter] Shelly Adapter mit MQTT:
ich habe es leider nicht verstanden. Wie heißen denn die Beiden Objekte im MQTT Adapter?
Du meinst nicht die MQTT states unten?shellies/<model>-<deviceid>/relay/0
oder
shellies/<model>-<deviceid>/relay/0/command
Nachtrag:
folgende MQTT States werden für den Shelly 1 und 1pm angeboten:shelly.0.SHSW-1#XXXXXX#1.Relay0.Switch
shellies/<model>-<deviceid>/relay/0 (lesen)
shellies/<model>-<deviceid>/relay/0/command (schreiben)shelly.0.SHSW-1#XXXXXX#1.Relay0.Input
shellies/<model>-<deviceid>/input/0 (lesen)shelly.0.SHSW-1#XXXXXX#1.Relay0.longpush
shellies/<model>-<deviceid>/longpush/0 (lesen)Dann sind da noch Power, Energy und Temperature.
-
sorry, dass es länger gedauert hat.
musste erst wieder auf MQTT umschalten und Screenshot machen.Dein Nachtrag erklärt aber auch schon sehr viel.
Ich rede vom Input, das ist ja der Hardwareschalter, den man auslesen kann um zu sehen welche Position er hat. Kann ich den im Adapter irgendwo sehen?
Er läuft ja nicht immer synchron mit dem Switch (siehe zum mein Bild) -
@Plasmachef sagte in [Adapter] Shelly Adapter mit MQTT:
Ich rede vom Input, das ist ja der Hardwareschalter, den man auslesen kann um zu sehen welche Position er hat.
darf ich fragen, wofür diese Information relevant sein könnte?
Ich hätte erwartet, dass es vor allem darauf ankommt ob ein Verbraucher ein- oder ausgeschaltet wurde, ganz gleich ob von einem Script, einem Schalter oder aus sonst einem Grund.Was aber fange ich mit der Information einer Schalterstellung an?
(ich selbst setze ausschliesslich Taster ein) -
@Plasmachef , Du meinst also im MQTT Adapter den Datenpunkt
shellies/<model>-<deviceid>/input/0
. Der wird im Shelly Adapter als Datenpunktshelly.0.SHSW-1#XXXXXX#1.Relay0.Input
angeboten.
Wenn Du die Datenpunkteshellies/<model>-<deviceid>/relay/0
undshellies/<model>-<deviceid>/relay/0/command
meinst, die sind im Adapter wie oben beschrieben als einen Datenpunktshelly.0.SHSW-1#XXXXXX#1.Relay0.Switch
zusammengefasst . Deshalb kann man diesen Datenpunkt auch lesen und beschreiben.
Zusammengefasst der Shelly Adapter stellt alle MQTT Daten zur Verfügung. -
@Plasmachef , der Wert in .Input läuft nicht Synchron mit dem .Switch. Wenn ich z.B. den Wert in .Switch in ioBroker ändere, ändert sich die Lichtschalterposition ja nicht.
Aber vielleicht habe ich es immer noch nicht verstanden. -
@Stuebi sagte in [Adapter] Shelly Adapter mit MQTT:
@Plasmachef , Du meinst also im MQTT Adapter den Datenpunkt
shellies/<model>-<deviceid>/input/0
. Der wird im Shelly Adapter als Datenpunktshelly.0.SHSW-1#XXXXXX#1.Relay0.Input
angeboten.Ich glaube dann fehlt mir da was
@BBTown sagte in [Adapter] Shelly Adapter mit MQTT:
darf ich fragen, wofür diese Information relevant sein könnte?
Ich hätte erwartet, dass es vor allem darauf ankommt ob ein Verbraucher ein- oder ausgeschaltet wurde, ganz gleich ob von einem Script, einem Schalter oder aus sonst einem Grund.Was aber fange ich mit der Information einer Schalterstellung an?
(ich selbst setze ausschliesslich Taster ein)Es ist sicherlich nicht entscheidend, aber ich möchte die Teile in eine bestehende Wohnung mit Schaltern einbringen, die dann ggf. auch etwas anderes steuern als wie vorgesehen über den ursprünglichen (Licht-)Schalter.
Beispiel:
- Lichtsteuerung über Bewegungsmelder
- Schalter ist nicht mehr nötig, die Hardware hinter der Wand schaltet das Licht aber noch (indirekt über IOBroker)
- Schalter kann jetzt Trigger für was (ganz) anderes sein
Danke und Grüße Plasma
-
@Stuebi sagte in [Adapter] Shelly Adapter mit MQTT:
@Plasmachef , der Wert in .Input läuft nicht Synchron mit dem .Switch. Wenn ich z.B. den Wert in .Switch in ioBroker ändere, ändert sich die Lichtschalterposition ja nicht.
Aber vielleicht habe ich es immer noch nicht verstanden.KORREKT, genau das meine ich ja
Das eine ist der Hardwareschalter (Input), das andere ist das Relay(Switch), deshalb is es ja auch interessant beide zu sehen
-
@Plasmachef sagte in [Adapter] Shelly Adapter mit MQTT:
Es ist sicherlich nicht entscheidend, aber ich möchte die Teile in eine bestehende Wohnung mit Schaltern einbringen, die dann ggf. auch etwas anderes steuern als wie vorgesehen über den ursprünglichen (Licht-)Schalter.
Dein Problem ist ganz einfach zu beheben. Du hast Du CoAP beim Shelly Adapter eingestellt. Du musst den Adapter auf MQTT umstellen. Der Wert Input gibt es nur bei MQTT und nicht CoAP.
-
@Stuebi sagte in [Adapter] Shelly Adapter mit MQTT:
Dein Problem ist ganz einfach zu beheben. Du hast Du CoAP beim Shelly Adapter eingestellt. Du musst den Adapter auf MQTT umstellen. Der Wert Input gibt es nur bei MQTT und nicht CoAP.
Okay
- den Adapter auf "MQTT and http"
-den Shelly? auf Coap oder MQTT? wenn MQTT, dann alles ausfüllen?
- den Adapter auf "MQTT and http"
-
HERZLICH DANK ... die Sonne geht auf
Ich hab alles was ich brauche...super!!!
Danke schön
-
@Plasmachef , ja alles MQTT/http und alles ausfüllen. Achtung mit dem Port der muss ein Anderer als der im MQTT Adapter sein. Den Port musst du im Shelly 1 auch anpassen.
-
Hallo,
habe jetzt auch einen shelly Version 2.5.
Da ich die Installation im Docker habe, scheint CoAP ja nicht zu funktionieren.
Deshalb wollte ich es jetzt über MQTT versuchen.Es werden bei mir aber keine Daten unter Objekte eingetragen.
Habe jetzt nur den neuen Adapter instaliert und alles wie hier beschrieben eingetragen:
Link TextIch habe jetzt aber keinen zusätzlichen MQTT server beim iobroker instaliert, ist das ggf. notwendig?
-
@heinzie , nein einen zusätzlicher MQTT Server musst du nicht installieren und ist auch überhaupt nicht notwendig.
Ich denke du hast die falsche IP Adresse oder des Port auf deinem Shelly eingebenan. Da gehört die IP Adresse des Docker Containers rein und der Port des ioBroker Shelly Adpters (z.B. 1882)
In ioBroker wählst du am besten 0.0.0.0 und Port 1882 aus.
VG
stübi