NEWS
Shelly Plus Uni: Voltmeter in iobroker auslesen
-
@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
-
@ecnc07 In der App bringt mir das nichts, wenn ich es in iobroker will. App ist klar aktiviert.
-
@matis du bekommst den Wert so in den ioBroker. Hab ich auch so gemacht. Bild 2 und 4 sind nicht aus der APP, sondern aus dem ioBroker.
-
@ecnc07 ja, danke, das wäre auch ein Weg. Da ist mir der Weg über den mqtt Adapter aber viel einfacher. Schade, dass es nicht vom shelly adapter automatisch erkannt wird. Aber vielleicht kommt das ja noch.
-
Nur der Vollständigkeit:
In der aktuellen Version ist der Shelly Plus Uni vollständig im Adapter ioBroker.shelly integriert und auch der Voltmeter Wert ist dort verfügbar.