Auf welcher Version von openHAB bist Du denn nun unterwegs? eine http.cfg gibt es nur für das http1-Binding, welches nur bis einschließlich openHAB2.5.12 funktioniert.
Auch die Konfiguration in der rollladen.items deutet auf ein http1 Binding hin. das http3 (bzw. http2...) Binding und die Aussage OH3 deuten aber auf openHAB3.x hin. Dann kann Deine Konfiguration aber genau gar nichts liefern.
Gesetzt den Fall, Du bist mit openHAB3 unterwegs, musst Du zwingend ein http Thing anlegen, entweder über eine http.things Datei (im passenden Ordner...) oder direkt über die UI. Dabei gibt es zwei Optionen. Erstens, ein Channel pro Wert:
Code: Alles auswählen
Thing http:url:shutter "Rollladencontroller" [
baseURL="http://IP.des.ger.aets/Rollladencontroller/cmd?XC_FNC=GetStates&at=Passwort",
refresh=10,
timeout=5000
] {
Channels:
Type number : ch1pos "Position CH1" [stateTransformation="JSONPATH:$.XC_SUC[?(@.sid=='01')].state.state"]
Type number : ch2pos "Position CH2" [stateTransformation="JSONPATH:$.XC_SUC[?(@.sid=='02')].state.state"]
Type number : ch3pos "Position CH3" [stateTransformation="JSONPATH:$.XC_SUC[?(@.sid=='03')].state.state"]
}
Die IP muss natürlich angepasst werden.
Nun hast Du drei Channel für die drei Items, welche natürlich auch verlinkt werden müssen:
Code: Alles auswählen
Group rollladeninfo
Number rollladen1 "Value [%.1f]" (rollladeninfo) {channel="http:url:shutter:ch1pos"}
Number rollladen2 "Value [%.1f]" (rollladeninfo) {channel="http:url:shutter:ch2pos"}
Number rollladen3 "Value [%.1f]" (rollladeninfo) {channel="http:url:shutter:ch3pos"}
Zweite Möglichkeit: Ein Channel pro JSON Objekt:
Code: Alles auswählen
Thing http:url:shutter "Rollladencontroller" [
baseURL="http://IP.des.ger.aets/Rollladencontroller/cmd?XC_FNC=GetStates&at=Passwort",
refresh=10,
timeout=5000
] {
Channels:
Type string : json "JSON Objekt" []
}
Nun muss die Transformation im Profile erfolgen:
Code: Alles auswählen
Group rollladeninfo
Number rollladen1 "Value [%.1f]" (rollladeninfo) {channel="http:url:shutter:json"[profile="Transform:JSONPATH" function="$.XC_SUC[?(@.sid=='01')].state.state"]}
Number rollladen2 "Value [%.1f]" (rollladeninfo) {channel="http:url:shutter:json"[profile="Transform:JSONPATH" function="$.XC_SUC[?(@.sid=='02')].state.state"]}
Number rollladen3 "Value [%.1f]" (rollladeninfo) {channel="http:url:shutter:json"[profile="Transform:JSONPATH" function="$.XC_SUC[?(@.sid=='03')].state.state"]}
Der angegebene JSONPATH sucht übrigens im JSON Objekt den Zweig heraus, dessen Parameter
sid mit dem angegebenen Wert übereinstimmt. JSON garantiert keine Reihenfolge der Einträge, auch wenn das evtl. von einigen Geräte so umgesetzt wird. Es ist also guter Stil, sich nicht darauf zu verlassen, dass die Reihenfolge der Einträge im JSON Objekt immer gleich ist.
Die Konfiguration kann genauso auch komplett über die UI vorgenommen werden, die einzelnen Parameter sollten einigermaßen selbsterklärend sein.
openHAB4.3.5 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet