NEWS
ShellyPlus H&T - erste Erfahrungen
-
Ja über MQTT.
Ich betreibe einen MQTT Broker (Server) in einer Linux Vm unter Proxmox.
Diese Vm hat eine fixe IP und der MQTT Broker hört default auf Port 1883.
Username und Passwort des MQTT brokers sind Teil des Setups.Im iobroker habe ich dann den MQTT broker/Client Adapter im Client Modus im Betrieb.
Wenn alles richtig eingerichtet ist, kommt dann der Shelly PlusHT im MQTT Adapter mit Daten an:
Da die relevanten Daten in Strings übertragen werden, muss man die Zerlegen und die relevanten Daten in user-defined Datenpunkten abspeichern.
Das mach ich in einem Script.
-
@tritor sagte: Das mach ich in einem Script.
Die Wandlung "nach Zahl" sollte nicht erforderlich sein.
-
@tritor said in ShellyPlus H&T - erste Erfahrungen:
MQTT Broker (Server)
Hallo @tritor ,
vielen Dank für die klasse Darstellung, damit bin ich schon weiter gekommen, aber noch mach ich was falsch.Ich habe den Adapter Installiert
Dann die entsprechenden Einstellungen getroffen. Da bei mir der 1882 und 1883 schon anderweitig genutzt werden, habe ich den 1881 eingestellt.
Wenn das Thermostat im Setup-Modus ist, bleibt "Verbunden mit Gerät oder Dienst" auf rot, ansonsten wird alles grün. Bis hierher sieht es nach einem Erfolg aus.
Aber in den Objekten ist nichts angekommen.
Zusätzlich zeigt das Protokoll rege Aktivität
mqtt.0 72003 2022-08-01 09:25:44.456 info Reconnected to 192.168.178.135 mqtt.0 72003 2022-08-01 09:25:34.454 info Disconnected from 192.168.178.135 mqtt.0 72003 2022-08-01 09:25:34.453 error Client error:Error: connect ECONNREFUSED 192.168.178.135:1881 mqtt.0 72003 2022-08-01 09:25:34.447 info Reconnected to 192.168.178.135 mqtt.0 72003 2022-08-01 09:25:24.446 info Disconnected from 192.168.178.135: undefined mqtt.0 72003 2022-08-01 09:25:21.390 info Reconnected to 192.168.178.135
-
Wo läuft dein MQTT broker/server? Separate HW? VM? Wie ist die IP adresse des MQTT brokers/servers?
Kannst ja den MQTT Server mal mit MQTT Explorer prüfen? -
@tritor
Ich glaube da liegt das Problem.
Abgeleitet von meinen bisherigen Adaptern, in denen ich jeweils nur MQTT-Nutzer und Port festlege, habe ich das so ähnlich mit dem MQTT versucht.Zunächst Hatte ich nur eine Instanz des MQTT-Adapters als Server/Broker für alle IP´s (Einstellung quasi wie in den anderen Adaptern) - da kam aber nichts an.
Nach deinem Post hatte ich den Adapter in den Einstellungen geändert zu Client/Subscriber mit der IP des Shelly (?).
Da das auch nicht ging und ja offenbar kein Server mehr da war, habe ich eine weitere Instanz des MQTT-Adapters der nun wieder als Server/Broker läuft.Also zwei Instanzen MQTT-Adapter im ioBroker. Einmal Server/Broker und einmal Client/Subscriber (Getestet mit IP des Shelly und IP des ioBroker).
-
Abgeleitet von meinen bisherigen Adaptern, in denen ich jeweils nur MQTT-Nutzer und Port festlege, habe ich das so ähnlich mit dem MQTT versucht.
Welche bisherigen Adapter? MQTT benötigt soviel ich weiß immer eine Adresse des servers, user und pw (sofern gesetzt)
Zunächst Hatte ich nur eine Instanz des MQTT-Adapters als Server/Broker für alle IP´s (Einstellung quasi wie in den anderen Adaptern) - da kam aber nichts an.
Nach deinem Post hatte ich den Adapter in den Einstellungen geändert zu Client/Subscriber mit der IP des Shelly (?).
Da das auch nicht ging und ja offenbar kein Server mehr da war, habe ich eine weitere Instanz des MQTT-Adapters der nun wieder als Server/Broker läuft.Lösche mal alle MQTT Adapter-Instanzen und installier dann den MQTT broker/server neu.
Hier die Settings aus meinem Testenvironment:
Hab es mit 1886 als Port gemaucht, weil du ja den 1883 schon benutzt.
Die weiteren Settings:
So das sollte es schon gewesen sein. Der Adapter sollte nun grün anzeigen:
Wenn Verbindung rot ist ist das noch ok, da ja noch keine Verbindung zu einem Client besteht.Hier die MQTT-Einstellungen meines ShellyMotion2:
Im ioB findest du dann unter mqtt.0.shellies.shellymotion2-xxxxxxxxxx die Daten:
Unter Info gibt es dann z.b. die Daten des Shelly-Motion als JSON-String, Den mußt du halt dann zerlegen und die Daten in user-definierte Datenpunkte speichern. Dazu verwende ich ein Blockly.
-
@tritor
Zu aller erst - Vielen Dank für deine super ausführlichen HilfestellungenIch habe jetzt wieder aufgeräumt und nur wieder eine MQTT Server/Broker Instanz.
Das Ziel scheint greifbar.
Für den von dir zuletzt genannten ShellyMotion2 sieht das absolut Top aus
Leider trifft das nicht auf den ShellyHT zu
Bei ShellyHT gibt es nur einen Datenpunkt "rpc" der eigentlich keine nützlichen Informationen in sich trägt. Ich habe das mit und ohne Generic getestet, brachte aber keine veränderung.
-
@andreas-s
Der Shelly am Bild ist disconnected. Scheint mit dem IP Setting zusammenzuhängen.
Habe ich im ersten Post geschrieben. Kannst das mal prüfen?
IP des Shelly und des MQTT brokers müssen im gleichen IP Bereich sein. -
@tritor
Hallo hänge mich mal mit an.habe nach deiner Anleitung den Shelly über mqtt zum laufen gebracht.
Wie kann ich nun aus den Daten "Temperatur und Feuchte" brauchbare Werte erzeugen ? Wenn ich das so ins Objekt lege kommt nur NA bei raus.
-
Damit hat es nun geklappt, hatte ich übersehen
Das mach ich in einem Script.
-
@tritor
Danke für die Ausführungen, nun habe ich meinen Shelly Plus H&T doch tatsächlich noch zum laufen gebracht.
Das Blockly Script gibt mir nun aber ein kleines Rätsel auf. Die beiden Werte Humidity und Temperature sind vermutlich Datenpunkte.
Wo bzw. wie bitte hast Du diese definiert damit ich diese dann in die influxdb schreiben kann?
Entschuldige meine Unwissenheit. -
@rainer-p sagte: Die beiden Werte Humidity und Temperature sind vermutlich Datenpunkte. Wo bzw. wie bitte hast Du diese definiert
Ja, eigene Datenpunkte vom Typ "number" erstellt man unter "0_userdata.0" mit einer sinnvollen Objektstruktur. Auch "unit" und "role" ("value.temperature" / "value.humidity") sollten nicht vergessen werden.
EDIT: Ohne Skript kommt man aus, wenn man einen Alias verwendet mit alias.read.
-
@tritor said in ShellyPlus H&T - erste Erfahrungen:
...
Mal sehen wie lange die 4 AA Akkus halten (sind im Moment bei 66%).
...Hallo,
nachdem du den H&T ja nun schon eine Weile nutzt, würde mich die Haltbarkeit der Akkus interessieren. Würdest du das verraten? Danke. -
@bjoern-1
Also ich habe die schon seit mehr als 6 Monaten im Einsatz und noch 49% bzw. 38% Ladestand bei meinen 2 HTplus -
Ich hab immer noch Probleme mit shellyht, die Werte kommen alle an, aber ich hab auch ständig dieselbe Fehlermeldung im log:
[httpIoBrokerState] HTTP request error for 192.168.5.135 (shellyplusht / shellyplusht-c049ef8e3130 / shellyplusht#c049ef8e3130#1) "/rpc/HT_UI.GetConfig": Wrong http username or http password! Please enter user credentials for restricted login.
Ich hab das Ding schon zig mal neu konfiguriert, das PW stimmt ganz sicher.
Hat mir jemand einen Tipp, wie ich diese Meldung loswerde? -
Hallo,
auf der Suche nach einer iobroker Lösung für den neuen Shelly H&T Gen 3 bin ich nach anderen Fehlversuchen in diesem Thread gelandet und kann zumindest bestätigen: Die hier gepostete Lösung mit dem MQTT Adapter auf dem Server und der Blockly-Konvertierung funktioniert auch einwandfrei beim neunen Shelly H&T Gen 3. (...denn der reguläre iobroker Shelly Adapter unterstützt den Shelly H&T Gen 3 noch nicht).
Also nochmal vielen Dank, und das vielleicht als Hinweis für alle H&T Gen3 Besitzer die nach einer Lösung zur Einbindung suchen. (MQTT-Zugangsdaten habe ich bei diesem Shelly online in der Shelly Cloud eingetragen, dann holen sich die Sensoren die MQTT Konfig beim nächsten Cloud-Connect)
-
@paul53 sagte in ShellyPlus H&T - erste Erfahrungen:
EDIT: Ohne Skript kommt man aus, wenn man einen Alias verwendet mit alias.read.
Ich habe meinen H&T Gen3 jetzt auch wie in diesem Thread beschrieben mit MQTT Broker/Server und einem ALIAS konfiguriert und bekomme zumindestens die Werte unter OBJECTS angezeigt.
Mein Problem ist aber dass ich diese Werte nicht in der InfluxDB abspeichern lassen, in der Konfig dazu habe ich auch darauf geachtet dass "Number" eingestellt ist, genau wie bei dem "State Type" im Alias aber es erscheinen keine Werte in der InfluxDB.
Funktionert das so nicht, muss ich unter 0_USERDATA noch zusätzlich einen eigenen Datenpunkt definieren, wenn ja wie kann ich den mit dem Alias synchronisieren ?
EDIT : Zusätzlich sehe ich dass der H&T Gen3 nur alle 2 Stunden ein Update sendet (laut iobroker Log) ? Kann das geändert werden ? Ich habe die aktuelle Firmware 1.4.5 auf dem H&T Gen3.
Gruß
Erik
-
@schneie74 anscheinend betreibst du den mit Batterie. Da melden sich Shelly nur ab und zu. Das war schon immer so. Allerdings wenn sich ein Wert ändert wird das sehr wohl sofort gemeldet.
-
@da_woody , ja das stimmt, bin momentan im Batteriebetrieb und die Änderungen werden korrekt gemeldet
Das Problem mit der InfluxDB hat sich auch erledigt.....musste den Adapter einfach mal neustarten
Jetzt scheint alles so zu laufen wie ich das wollte
-
@schneie74 na super!
wie ich immer sage: reboot macht vieles gut...