NEWS
Shelly Plus Uni: Voltmeter in iobroker auslesen
-
@mr_mos Hans_M schreibt das er es mit dem mqtt adapter ausliest und da ist der spannungswert sichtbar
{"id": 100,"tC":2.0, "tF":35.6}
-
@mr_mos Bei mir sieht es so aus:
Shell uni, Abfrage über WLAN, der aktuelle Shelly-Adapter.
Aber vlt. verstehe ich das Problem ja nicht. In dem Fall dann: sory
-
@wcag22 Bei mir taucht ADC nicht auf. Muss ich dazu noch was einstellen?
-
Ich weiß nicht, was Du bisher "eingestellt" hast
Von daher: keine Ahnung... -
@wcag22 naja, ich hab nur das Voltmeter zugefügt und die MQTT Zugangdaten eingebenen, es taucht auch alles auf, nur ADC nicht. Ich mach nochmal einen Werkreset und probiers nochmal.
Hat leider auch nicht geholfen.
Iobroker shelly Adapter: 8.5.1, neueste FW für den UNI Plus und tauch nicht auf.
Wenn ich den MQTT Adapter installiere, wird dort die Spannung angezeigt, weiß aber nicht wie die auswerte auf einen Datenpunkt, das ist so ein String {....}.
Und warum geht es im shelly Adapter nicht?
-
@matis
Ok, Shelly UNI plus kenne ich nicht. Ich habe den Shelly UNI Gen1.Und warum geht es im shelly Adapter nicht?
Was geht denn konkret nicht und wie sieht Deine Config vom Shelly aus? Möglich, dass der Shelly Adapter den UNI Plus (Gen.?) nicht erkennt.
weiß aber nicht wie die auswerte auf einen Datenpunkt, das ist so ein String {....}.
Kannst Du das mal konkreter formulieren, bitte.
-
@wcag22
Es werden die normalen Datenpunkte wie Input, Relay, ... siehe Bild oben einwandfrei angelegt und auch aktualisiert.
Das in der Konfiguration selbst anzulegende Voltmeter wird nicht als Datenpunkt (ADC) angelegt und damit auch nicht aktualisiert.
Ich weiß nicht, ob es eine "alten" und PLUS UNI gibt. Im Datenpunkt class steht: shellyplusuni.
Einen anderen kann man gar nicht mehr kaufen.
Könnte aber sein, dass deshalb der Datenpunkt nicht richtig im Adapter übernommen wird.
-
So sieht das im mqtt Adapter aus, dort ist der Datenpunkt vorhanden, d.h. er wird übertragen aber vom shelly-Adapter nicht gelesen:
-
@matis erstell dir ein alias von dem mqtt voltmeter:100 datenpunkt und schreib unter lesen das rein "JSON.parse(val).voltage"
-
@benbensimpson2204 Danke, so hab ich's jetzt macht. Schade halt, dass der UNI nicht bei den anderen shelly's ist.
-
Hi,
ich stand genau vor derselben Herausforderung und habe nun auch die Spannung über den alias für den JSON Datenpunkt im MQTT Adapter hineinbekommen. Das war ein super Tipp, danke!
Aber irgendwie aktualisiert der JSON-Ausdruck nicht, zumindest ändert sich der Zeitstempel für die Aktualisierung und auch eine Änderung nicht.
Was muss ich im Shelly PlusUni oder im MQTT-Adapter einstellen, dass er den aktuellen Wert zyklisch sendet/abholt?
Danke für jeden Hinweis
UpDate: Hat sich erledigt. Im Shelly habe ich den Haken bei "Enable MQTT Control" entfernt. Seit dem gibt es zyklische Updates/Aktualisierungen.
-
@thomas-maul
Hallo, ich habe das gleiche Problem, seit heute habe ich eine Shelly uni plus in Betrieb genommen um mir die Spannungswerte meiner Zisterne anzeigen zu lassen, nur leider kommen keine ADC werte im Biobroker rein.
Hast du für mich bitte eine kurze Anleitung wie du es hin bekommen hast den ADC Werte im Biobroker zu sehen?Vielen Dank im Voraus!
Grüße
-
@jan_xx
Hi, ich kann es gern probieren. Falls das folgende zu kryptisch klingt, kann ich auch (später am Wochenende) Screenshots mitliefern. Ich gehe davon aus, dass Du schon das Peripheriegerät im Shelly eingebunden hast, dh die shelly-App am Phone zeigt dir den aktuellen Wert.- installiere den mqtt Adapter in iob
- dort legst du den eineindeutigen Port (einen anderen als Deine anderen MQTT Adapter, wie TASMOTA, SHELLY ...), einen Namen und ein Passwort fest (das alle mqtt Geräte brauchen, um genau mit diesem Adapter in Kontakt zu treten und von ihm akzeptiert zu werden
- der mqtt Adapter als Broker/Server einstellen
- einstellungen speichern und schließen
- im shelly gehst Du zu den Einstellungen und dort zu mqtt
- "Enable mqtt" anhaken, damit es aktiviert ist
- den Zugangsnamen, Passwort und Port, genauso wie im MQTT Adapter, eintragen
- auch die anderen Häkchen setzen
- AUSSER "Enable 'MQTT Control'"
- speichern und shelly neu starten
- ggf. den MQTT Adapter durchstarten
- jetzt sollte in den Objekten des mqtt Adapters der shelly auftauchen
- unter "status" findest Du den JSON Ausdruck "Voltmeter:100", der Zeitstempel bei "mouse over" zeigt u.a. die letzte Änderung und Aktualisierung
- ich habe jetzt bei den Objekten im Verzeichnis "ALIAS" einen neuen Datenpunkt anlegen (hier gibt es mehrere Wege: direkt über "+", oder die verschiedenen Geräte/Alias Adapter
- in den Einstellungen des Datenpunktes den Datenpunkt des Shelly im MQTT auswählen und Konvertierung aktivieren
- dort dann, wie oben beschrieben "JASON.parse(val).voltage" eintragen
- fertig
- Diese Einstellungen kannst Du auch später machen oder ändern, wenn Du im Objektverzeichnis den ALIAS-Datenpunkt auswählst und ganz rechts den "Stift" zum Bearbeiten klickst, dann kommst Du zur Parametrisierung, dort gibt es oben rechts dann die Möglichkeit die Einstellungen für den ALIAS vorzunehmen
Das "voltage" im JASON.parse muss exakt so lauten, wie im JSON Ausdruck im Datenpunkt des MQTT (ist sozusagen die zu suchende und auszugebende Zeichenkette für das Parsen), ich habe auch noch "xvoltage" in einem anderen ALIAS dazu geholt, da ich eine Korrektur im Shelly vornehme (offset), um den Messfehler auszugleichen.
Viel Erfolg!
Melde Dich ruhig, falls noch etwas unklar ist und ich könnte auch noch Screenshots von den Einstellungen machen. -
@thomas-maul
Guten Morgen, danke erstmal für die sehr schöne Anleitung, einiges davon konnte ich gestern Abend bzw. Nacht schon im Selbstversuchen herausfinden. Ich hole generell alle Shelly plus Geräte über mqtt ab, wie ich ja bereits geschrieben hatte wurde hier der ADC Datenpunkt nicht mit übertragen. Ich habe daraufhin einen neuen mqtt Adapter installiert und habe diesen mit dem shelly uni plus verheiratet. Hier wurden dann wie du o.g. beschrieben hast die Daten abgeholt. Es gibt jetzt dort einen Punkt mit Voltmeter:100 von dem sich die Spannung des ADC befindet, jetzt komme ich aber irgendwie noch nicht so richtig weiter. Unter Objekten habe ich mir auch einen neuen DP angelegt, jetzt stellt sich mir aber die Frage wie ich den Spannungswert da rein bekomme. Du hast ja oben geschrieben das unter Eigenschaften des neuen DP ich den mqtt auswählen und Konvertieren aktivieren soll, aber der mqtt Adapter wird dort nicht angeboten. Also vlt. kannst du mich ja bitte an dieser Stelle nochmal abholen da ich irgendwie aktuell da nicht weiter komme?Vielen Dank schon mal vorab!
Gruß
-
@jan_xx
Ich versuch's mal mit Bidern:
Hier der datenpunkt im mqtt
Hier der ALIAS
Nicht verwirren lassen, die Einheiten stimmen nicht, da bin ich wohl zu schlampig
Rechts neben den Zahlen (irgendwie kommt`s beim Screenshot nicht mit) gibt es jeweils einen Stift zum Bearbeiten. Man siht ihn im Bild leider nur oben beim "Klima NS". Dort drauf klicken und Du bist hier:
Jetzt in den Reiter "ALIAS wechseln, den JSON Ausdruck aus dem mqtt als Quell-Datenpunkt wählen und beim Lesen über den Parser den richtigen Wert ermitteln:
Ich hoffe das ist jetzt deutlicher. Viel Erfolg!
-
Nochwas: die Zeichenkette "voltage" muss genau die Zeichenkette des Wertes sein, den Du aus dem JSON Ausdruck des MQTT Datenpunktes haben willst. Diesen siehst Du im ersten Bild rechts. Nur draufklicken, dann siehst Du die Werte, die MQTT vom Shelly bekommt und deren Bezeichnung.
-
@thomas-maul
oh super, vielen dank! Ich hatte schon den Fehler gemacht den neuen Datenpunkt nicht unter Alias anzulegen, habe jetzt alles wie in den o.g. Bildern eingetragen, nur leider kommt kein Wert im neuen DP an.
Ja ja die letzten 100 Meter zum Ziel sind wohl immer die schwierigsten...;-)
Hast du vlt. eine Idee wo ich noch schauen kann warum keine Daten kommen?Danke!
-
@jan_xx
Hm...
Der MQTT Datenpunkt ist korrekt?
Vielleicht reagiert der auch erst auf einen neuen Wert.
ggf. Shelly plusUni neu starten und/oder den MQTT Broker.. -
@thomas-maul
Was meinst du mit mqtt Datenpunkt? Bei Alias Zustand ID habe ich auf den Datenpunkt im mqtt Ordner Zustand verlinkt und unten bei Konvertierung das Eingetragen JASON.parse(val).voltage ?? -
@jan_xx
Im MQTT den Datenpunkt, mit dem JSON Ausdruck, der die Info enthält. Nur um sicher zu gehen, doppelter checkWenn Du den Shelly über den Webzugang oder die App im Phone einmal neu startest (reboot), dann sendet der gleich danach den Wert über MQTT raus und der Zeitstempel im MQTT Objekt Datenpunkt sollte sich aktualisieren.
Dann schau, ob der auch beim Alias angekommen ist.