Der neue JSON Decoder in IPS 6.0

Hallo miteinander,
zuerst einmal möchte ich meine dank ausdrücken für die tolle neue Version. Vor allem der JSON-Decoder macht mir das leben um so einiges einfacher.
Der Ablaufplan ist natürlich auch spitze.
Ich hab allerdings ein Problem mit dem Decoder. Die Variablen werden alle ordentlich erstellt:

aber trotzdem bekomm ich eine Fehlermeldung:

Wie komm ich denn dem Fehler auf die schliche?
Kann mir jemand einen Tipp geben.

Ich denke die Ursache gefunden zu habe. Fix im nächsten Update.

Freue mich auf dein Feedback! :slight_smile:

paresy

PS: Danke für das Lob!

Ein mindesten 20 Zeichen langes … Daumen hoch!
Herzlichen Dank

Nach dem Fix läuft alles ohne Fehlermeldung.
Vielen Dank

1 „Gefällt mir“

Ich bekomme die Meldung „Error 404, Authentication failed
in C:\Windows\System32- on line 3“ wenn ich auf Seite aktualisieren klicke, Zugangsdaten passen.
Wieso wird auf ein Windowsverzeichnis verwiesen ?

Ist die URL korrekt? 404 heißt eigentlich „Not found“. Warum auch immer er Authentication failed sagt.

paresy

Hallo Paresy,
hatte erst jetzt wieder Zeit zum ausprobieren:
Wenn ich mich vom IPS-Server aus mit meinen Zugangsdaten im Browser anmelde und dann die URL aus der Instanzkonfiguration ein ein weiteres Fenster kopiere, bekomme ich die Daten sauber zurückgeliefert.
Auch wenn ich Digest-Authentifizierung auswähle kommt Fehler 3
Muss die auszuwertende Adresse anders eingegeben werden ?




Wie loggst du doch denn ein? Wenn das irgendeine Art von Portal ist, dass wir das so leider nicht funktionieren, da du ja bei der Basis Authentifizierung nicht den Login-Flow vom Portal nutzt. Da befürchte ich, dass du genau diesen Login-Flow im Skript per cURL nachbilden musst - und das ist nicht trivial.

paresy

Einloggen mit der Zeile klappt:

die Beschreibung ist hier:

Bitte poste Code nicht als Bild.
Sonst könnte man den Code einfach kopieren und die zu bestimmten stellen Tips geben.
Wie z.B.: das du die Antwort der Seite gar nicht bekommst.
Dazu muss curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); gesetzt sein.
Und wo ist das zweite curl_exec geblieben?
Das Cookie File musst du auch vor dem ersten curl_exec setzen…
Gibt auch cURL zu PHP Curl konverter im Netz. Vielleicht bringt dich das aber auch schon etwas weiter.

Bringt dich aber eigentlich nicht weiter. Der Symcon HTTP Client kann IMHO keine Cookies.
Michael

1 „Gefällt mir“

Besten Dank für die Aufklärung - mal sehen, ob ich einen Weg finde an die Daten zu kommen.

Coole Sache, der Decoder. Wenn man aber nicht alle Variablen will, bleibt nur diese im Script zu zerlegen, korrekt?

Korrekt. Der Decoder erstellt der Einfachheit halber alles.

paresy

Wird es da irgendwann mal da Einstellmöglichkeiten geben?

Hallo zusammen,

gibt es (irgendwann) die Möglichkeit bei Werten einen Teiler einzutragen?

Gruß
Stephen

Bisher nicht, da der JSON Dekoder ggf. komplexe Datenstrukturen abbildet und somit auch im Formular diese Dargestellt werden müssen.

Der einfachste Weg ist bisher eine neue Variable und ein Ereignis mit Umrechnung.

paresy

Hallo Michael,

da bekomm ich langsam Variablenprobleme,… :joy:

Gruß
Stephen

Wenn ich ein JSON z.B. über virtual_IO abfrage und dann in dem JSON-Decoder die Variablen erstellt werden, ist das unter Umständen sehr ausführlich. Bei einer erneuten Abfrage werden dann die Variablen neu geschrieben. Aber wenn (einzelne) Variablen nicht neu kommen, bleiben die ‚alten‘ Variablen stehen. Die gehören dann ja nicht zum aktuellen JSON.
Gibt es eine Möglichkeit, alle Variablen im JSON-Decoder erstmal zu löschen um sie dann alle neu zu schreiben? Der JSON-Decoder soll bestehen bleiben, nur eben geleert werden.

Keine super einfache. Tatsächlich musst du die Objekte rekursiv im Baum löschen lassen.

paresy

Vielleicht steh ich aufm Schlauch und es ist ganz einfach, aber ich habe den JSON Decoder genutzt um über ne Zeit lang Daten abzufragen. Die Variablen und Verzeichnisstruktur wird dabei ja automatisch in Symcon angelegt. Nun brauche ich den JSON Decoder nicht mehr weil ich selbst per Script die Variablen weiter aktualisieren will. Das scheint aber nicht zu gehen weil die Variablen als read-only markiert sind. Den JSON Decoder hab ich zwar gelöscht, aber es sind halt irgendwie keine Variablen die ich normal weiterverwenden kann. Würde halt gern die Loggdaten der Variablen behalten und sie deshalb weiter verwenden.