@homoran
man (ich) muss die mögliche Fehlinterpretation nur eben erst einmal erkennen und wissen, wie man dem begegnet... ich habe heute gelernt, dass hinter einem fx... nicht nur ein schnöder Pfad zum gewünschten Wert erwartet werden kann.
Vielen Dank nochmal an euch für die schnelle und lehrreiche Hilfe!
NEWS
Latest posts made by hualex
-
RE: Problem beim Parsen eines JSON-Objektes aus Tasmota (MQTT)
-
RE: Problem beim Parsen eines JSON-Objektes aus Tasmota (MQTT)
@homoran
an das "Rechenzeichen" hatte ich noch gar nicht gedacht, macht das Verhalten von iob für mich aber plausibel(er) -
RE: Problem beim Parsen eines JSON-Objektes aus Tasmota (MQTT)
Das werde ich mir "sowas" von einprägen
Nochmal ganz herzlichen Dank, du hast mir meinen Abend gerettet und mehrere Probleme gelöst. -
RE: Problem beim Parsen eines JSON-Objektes aus Tasmota (MQTT)
@paul53 said in Problem beim Parsen eines JSON-Objektes aus Tasmota (MQTT):
JSON.parse(val)['ADS1115-48'].A0
Habe meine Platine kurz umgebaut und: Das funktioniert! Vielen lieben Dank!!!
Jetzt wüsste ich nur gern, warum... Was macht ['xxx']?
-
RE: Problem beim Parsen eines JSON-Objektes aus Tasmota (MQTT)
das werde ich sofort ausprobieren, Danke schon mal!
-
Problem beim Parsen eines JSON-Objektes aus Tasmota (MQTT)
Ich habe folgende Frage:
An welche Stelle (welcher Adapter ist hier zuständig) gehört folgender Fehler adressiert/gemeldet?Kurze Beschreibung:
Ich verarbeite Sensordaten aus Tasmota per Objekte.Alias (nicht Alias-Manager) weiter, indem ich die Sensorwerte aus dem jeweiligen JSON-Objekt der MQTT-Message parse. (z.B. so: JSON.parse(val).ADS1115.A0) das funktioniert soweit super, solange nur ein Sensor gleichen Typs existiert. Ab dem 2. Sensor sendet Tasmota zur Identifizierung des entsprechenden Sensors im Property die I2C-Adresse des Sensors mit, also statt ADS1115 nun z.B. ADS1115-48 (0x48 ist die I2C-Adresse). Dummerweise kann man den Sensornamen in Tasmota nicht ohne Eingriffe im Quellcode ändern (soweit mir bekannt). Iobroker wiederum stößt sich (wahrscheinlich) am Bindestrich im Property.
Wenn ich die Lesefunktion unter Objekte/Alias nun auf das korrekte Property ADS1115-48.A0 ändere, schlägt das Lesen des Wertes fehl.das steht im Protokoll (Pfad gekürzt):
2024-05-16 17:31:24.315 - [31merror[39m: admin.0 (607) Invalid read function for "alias.0.xxxx.Zisterne_Messwert": "JSON.parse(val).ADS1115-48.A0" => Invalid or unexpected token
2024-05-16 17:31:24.315 - [31merror[39m: javascript.0 (637) Invalid read function for "alias.0.xxxx.Zisterne_Messwert": "JSON.parse(val).ADS1115-48.A0" => Invalid or unexpected tokenWohin muss ich den Fehler melden? JS-Adapter? Admin-Adapter? Welcher Bereich in Iobroker ist für das Parsen in den Alias-Objekten zuständig.
Vielleicht kann mir jemand einen Tipp geben, Vielen Dank schon mal.
-
RE: Sonoff NSPanel
@kuckuckmann
Ist eigentlich nur eine Notlösung, da es keine entsprechende Card gibt. Code ist nichts besonderes. Habe lediglich Min/Max-Parameter den Schiebereglern mitgegeben. Den Rest erledigt ein Blockly, was schon existiert hat. ! -
RE: Sonoff NSPanel
@olliby67
und daran denken, dass dieser Datenpunkt nicht den Status der Relais zeigt, sondern den letzten abgesetzten Befehl, den Datenpunkt für den Status hattest du ja schon gefunden. -
RE: Sonoff NSPanel
@olliby67
Hallo Olli, gibt es bei dir den Datenpunkt POWER1 oder POWER2 im Pfad "NSPanel".../cmnd? Den kannst du dann mit ON/OFF steuern. Falls nicht, mit MQTT-Explorer einfach mal publishen.