httpmod für Indevolt Solidflex 2000 POST Request

Begonnen von innasa, 05 November 2025, 15:05:26

Vorheriges Thema - Nächstes Thema

innasa

Hallo zusammen,

wenn ich meinen Speicher Solidflex 2000 von Indevalt mittels
curl -g -X POST "http://192.168.2.154:8080/rpc/Indevolt.GetData?config={\"t\":[2107,142,6000,6009,6004,6005,11016,6001,7120,667]}"
abfrage, bekomme ich

{"2107":11.46,"142":8.97,"6000":-2205,"6009":95,"6004":9.48,"6005":2.15,"11016":-2095,"6001":1001,"7120":1000,"667":0}
als Antwort. Das wollte ich mittels HTTPMod abfragen, mit JSONmod hab ich mir daran leider schon die Finger verrenkt. Ich bin aber auch nicht der Programmier-Pro. Das Problem liegt daran, dass ich den POST nicht hinbekomme. Mein Device sieht aktuell so aus:

define indevolt HTTPMOD http://192.168.2.154:8080/rpc/Indevolt.GetData?config= 60
setuuid indevolt 690b5624-f33f-9360-bf02-926fed2410e18e30
attr indevolt enableControlSet 1
attr indevolt enableCookies 1
attr indevolt enforceGoodReadingNames 1
attr indevolt handleRedirects 1
attr indevolt requestData {"t":[2107,142,6000,6009,6004,6005,11016,6001,7120]}
attr indevolt requestHeader1 Content-Type: application/json
attr indevolt requestHeader2 Accept: */*
attr indevolt showBody 1
attr indevolt showError 1

Der Body den ich als Antwort erhalte ist leer. Was mache ich falsch?

betateilchen

Zitat von: innasa am 05 November 2025, 15:05:26mit JSONmod hab ich mir daran leider schon die Finger verrenkt

So schwer sollte das doch nicht sein.
Probier mal so:

defmod jt JsonMod system://curl -g -X POST "http://192.168.2.154:8080/rpc/Indevolt.GetData?config={\"t\":[2107,142,6000,6009,6004,6005,11016,6001,7120,667]}"
attr jt readingList complete()
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

innasa

So ungefähr hatte ich das schon, ich bekam aber immer ein "invalid server response". Wollte daraufhin noch mal direkt auf dem fhem Server über die Konsole den curl-Befehl ausführen, und siehe da, curl ist gar nicht installiert! Also curl installiert und schon lief es. Vielen Dank für deine Unterstützung!