[V3.5.1] Verschachtelte JSON-Struktur für HTTP POST generieren
Verfasst: Di Mai 09, 2023 9:56 am
Guten Tag,
mein Samsung Kühlschrank erlaubt es mittels HTTP Post die Soll-Temperatur von Freezer und Cooler anzupassen. Nun möchte ich die Temperatur stets um ein paar Grad heruntersetzen, sobald der Batteriespeicher voll geladen ist, um unseren Photovoltaik-Strom bestmöglich zu nutzen und die Energie in Kälte zu speichern. Sobald der Batteriespeicher wieder entladen wird, möchte ich die Temperatur wieder auf den ursprünglichen Wert zurück setzen.
Hierfür benötige ich folgendes JSON im Body der Abfrage
Gemäß Wiki-Text hätte ich gedacht, folgendermaßen ans Ziel zu kommen (der rechte Teil jeweils aus Multiplexer/String zugeführt):
Objekt 1 Selektor: commands[0].component -> "freezer"
Objekt 2 Selektor: commands[1].capability -> "thermostatCoolingSetpoint"
Objekt 3 Selektor: commands[2].command -> "setCoolingSetpoint"
Objekt 4 Selektor: commands[3].arguments[0] -> "-20"
Als Body resultiert hieraus aber nur folgendes:
Kann mir jemand einen Tipp geben, wie ich vorgehen muss?
Die Möglichkeit Text/plain als Request Content-Type scheidet leider aus, da bei 30 Zeichen abgeschnitten wird.
Danke und viele Grüße
Kilian
mein Samsung Kühlschrank erlaubt es mittels HTTP Post die Soll-Temperatur von Freezer und Cooler anzupassen. Nun möchte ich die Temperatur stets um ein paar Grad heruntersetzen, sobald der Batteriespeicher voll geladen ist, um unseren Photovoltaik-Strom bestmöglich zu nutzen und die Energie in Kälte zu speichern. Sobald der Batteriespeicher wieder entladen wird, möchte ich die Temperatur wieder auf den ursprünglichen Wert zurück setzen.
Hierfür benötige ich folgendes JSON im Body der Abfrage
Code: Alles auswählen
{
"commands": [
{
"component": "freezer",
"capability": "thermostatCoolingSetpoint",
"command": "setCoolingSetpoint",
"arguments": [
-20
]
}
]
}
Objekt 1 Selektor: commands[0].component -> "freezer"
Objekt 2 Selektor: commands[1].capability -> "thermostatCoolingSetpoint"
Objekt 3 Selektor: commands[2].command -> "setCoolingSetpoint"
Objekt 4 Selektor: commands[3].arguments[0] -> "-20"
Als Body resultiert hieraus aber nur folgendes:
Code: Alles auswählen
{
"commands": {}
}
Die Möglichkeit Text/plain als Request Content-Type scheidet leider aus, da bei 30 Zeichen abgeschnitten wird.
Danke und viele Grüße
Kilian