NEWS
Shelly Plus Uni: Voltmeter in iobroker auslesen
-
@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.
-
Ansonstn prüf mal, ob der Wert im MQTT JSON Ausdruck mit dem in der shelly app im Phone übereinstimmt, nur um sicher zu gehen, dass das mit dem MQTT funktioniert.
-
@thomas-maul
Also der Verweis auf den Daten Punkt passt ->Voltmeter:100
Die Werte ändern sich auch in den Objekten unter dem Vortage DP, aber in dem neuen Alias Punkt kommt nix an... -
@thomas-maul
werte in der App stimmen mit den Werten im mqtt Adapter überein und ändern sich auch.
Und nun?Kann ich diesen Wert vlt. irgendwie anders herausholen um erstmal zu sehen woran es liegen könnte?
-
@jan_xx
Guck mal da steht doch sogar Alias als Wert unter Objekten ganz klein mit dabei? -
@jan_xx
Jetzt bin ich mit meinem Latein am EndeAlternativ könntest Du über Blockly den JSON Datenpunkt des MQTT abfragen (bei Änderung), dann in ein Objekt wandeln und den Wert, den Du benötigst in einen Datenpunkt schreiben.
Das war meine Planung, bevor ich das mit dem Alias hinbekommen hab. Jedenfalls gibt es unter Konvertierung die Funktion JSON nach Objekt
Dann die Attribute mit den Funktionen aus "Objekte" auswerten und in einen benutzerdefinierten Datenpunkt schreiben.Viel Glück! Ich bin jetzt erstmal ein paar Stunden off...
-
@jan_xx Nimm einfach meinen NodeRed Flow - der macht Dir aus allem einzelne Datenpunkte
-
Wir sind beide BLIND
Deine Formel ist JASON... das muss aber ohne "A": JSON.parse(val)....
Unglaublich, zwei blinde wieder einmal unterwegs
-
@thomas-maul
Wahnsinn, kaum macht man es richtig schon funktioniert es....:-)Vielen Dank nochmal für die Unterstützung und die Geduld.
Ich schicke dir nen Feierabend Bier rüber.;-)
Grüße
-
@jan_xx das funktioniert auch alternativ so: https://shelly-forum.com/thread/28829-shelly-uni-plus-keine-spannungswerte-in-der-app/?postID=298459#post298459