Hallo zusammen,
ich habe ein Gerät das ich per HTTP Post in openHAB auslese, ich würde gerne auf HA wechseln. aber scheitere das umzusetzen. Hat hier jemand einen Tipp wie ich das umsetzten kann. In openHAB frage ich das so ab und erhalte einen Text den ich dann mit JSON extrahiere
Hi!
Ich hatte mich vor einiger Zeit auch schon länger damit beschäftigt, aber bisher auch noch keine “POST”-Antwort sauber auswerten können - glaube ich zumindest. Vielleicht gehe ich das Thema aber auch noch einmal an, da es schon recht praktisch wäre. Ich hatte zumindest einmal “GET” sauber ausgewertet bekommen:
Etwas weiter bin ich schon mal gekommen, aber leider hilft mir das nichts. Ich habe festgestellt das ich nur 255 Zeichen auslesen kann in dem Query sind mehr gespeichert. Gibt es da noch einen Trick. Leider bin ich im Internet nicht fündig geworden. Wenn ich auf die 255 Zeichen einschränke sehe ich die Werte im HA.
sensor:
- platform: rest
name: "Grünbeck XML"
resource: "http://10.10.1.35/mux_http"
method: POST
headers:
Content-Type: "text/xml"
payload: "data=getXML('id='+getCookie('id')+'&show=D_D_1|D_C_4_2|D_A_1_1|D_A_1_2|D_A_2_2|D_A_3_1|D_A_3_2|D_A_1_3|D_A_2_3|D_Y_5|D_Y_10_1|D_B_1|D_Y_4_1|D_Y_2_1|D_Y_2_2|D_Y_2_3|D_Y_2_4|D_Y_2_5|D_Y_2_6|D_Y_2_7|D_Y_2_8|D_Y_2_9|D_Y_2_10|D_Y_2_11|D_Y_2_12|D_Y_2_13|D_Y_2_14|D_A_1_9|D_Y_2_01~',1);"
scan_interval: 300
timeout: 10
value_template: "{{ value }}" # Speichert den gesamten XML-Inhalt
#value_template: "{{ value | truncate(255)}}" # Speichert nur 255 Zeichen
Hier möchte ich quasi jeden Wert der zwischen den Markern steht <D_Y_2_01>100</D_Y_2_01> als eigene Entität in HA. aber auch das habe ich nicht geschafft.
Leider kann ich diesen Webserver auch nicht so oft abfragen, sonst schmiert der ab. Deshalb würde ich gerne einmal alle Daten abrufen und daraus dann extrahieren.
Logger: homeassistant.components.rest.util
Quelle: components/rest/util.py:37
Integration: RESTful (Dokumentation, Probleme)
Erstmals aufgetreten: 16:12:49 (1 Vorkommnisse)
Zuletzt protokolliert: 16:12:49
REST result could not be parsed as JSON
Logger: homeassistant.components.rest.util
Quelle: components/rest/util.py:37
Integration: RESTful (Dokumentation, Probleme)
Erstmals aufgetreten: 16:38:27 (1 Vorkommnisse)
Zuletzt protokolliert: 16:38:27
REST result could not be parsed as JSON
Hmm, ich hatte mir deine Werte von oben genommen und mir mit NR die se dann zum Abruf bereitgestellt. Zumindest mit einem GET wird der Sensor mit Daten gefüllt. Wenn ich nachher Zeit finde, versuche ich es nochmal mit einem POST nachzubauen.
Kommen die Daten exakt so zurück?