Ich habe im Unraid 6.6.6 seit einiger Zeit eine OpenHAB 2.4 Installation im Docker eigentlich recht stabil am Laufen. Die Kommunikation zu diversen IoT (Sonoffs, Kodi) und Bindings per MQTT (ebenfalls im Docker) funktionieren grundsätzlich. Die Paper UI ist etwas gewöhnungsbedürftig - allerdings kann man ja Dinge per Datei konfigurieren - , dafür kann man sich mit dem Panel ruckzuck ein Display aufbauen.
Mein Problem: Offensichtlich fehlt mir das JSONPATH-Binding, da die JSON-Responses nicht verarbeitet werden, sondern in ihrer vollen Pracht angezeigt werden (siehe Screenshots). Nach Recherchen muss das JSONPATH-Binding installiert werden, dieses taucht jedoch bei den Addons nicht auf. Ich habe auch die Addons als .kar heruntergeladen und in den addon-Ordner geschoben - danach Neustart - jedoch ist auch hier das Binding nicht zu sehen. Definiert nach der neuen Syntax für OH2.4 sind die Items z.B. wie folgt.
Thing mqtt:topic:Sonoff_Pow "Sonoff POW" (mqtt:broker:MQTTunRaidBroker) @ "Arbeitszimmer" {
Channels:
Type switch : PowerSwitch "Power Switch" [ stateTopic="sonoff_3188/stat/POWER", commandTopic="sonoff_3188/cmnd/POWER", on="ON", off="OFF" ]
Type switch : PowerSwitchRes "Switch State" [ stateTopic="sonoff_3188/stat/RESULT", transformationPattern="JSONPATH:$.POWER",on="ON",off="OFF"]
Type string : Version "Version" [ stateTopic="sonoff_3188/tele/INFO1", transformationPattern="JSONPATH:$.Version"]
Type string : fallback "fallback topic" [ stateTopic="sonoff_3188/tele/INFO1", transformationPattern="JSONPATH:$.FallbackTopic"]
Type string : hostname "hostname" [ stateTopic="sonoff_3188/tele/INFO2", transformationPattern="JSONPATH:$.Hostname"]
Type string : IP "IP" [ stateTopic="sonoff_3188/tele/INFO2", transformationPattern="JSONPATH:$.IPAddress"]
Type string : time "Time" [ stateTopic="sonoff_3188/tele/STATE", transformationPattern="JSONPATH:$.Time" ]
Type string : uptime "Uptime" [ stateTopic="sonoff_3188/tele/STATE", transformationPattern="JSONPATH:$.Uptime" ]
Type number : vcc "VCC" [ stateTopic="sonoff_3188/tele/STATE", transformationPattern="JSONPATH:$.Vcc" ]
Type string : wifi-ap "Wifi AP" [ stateTopic="sonoff_3188/tele/STATE", transformationPattern="JSONPATH:$.Wifi.AP" ]
Type string : wifi-ssid "Wifi SSID" [ stateTopic="sonoff_3188/tele/STATE", transformationPattern="JSONPATH:$.Wifi.SSId" ]
Type string : wifi-channel "Wifi Channel" [ stateTopic="sonoff_3188/tele/STATE", transformationPattern="JSONPATH:$.Wifi.Channel" ]
Type string : wifi-rssi "Wifi RSSI" [ stateTopic="sonoff_3188/tele/STATE", transformationPattern="JSONPATH:$.Wifi.RSSI" ]
Type string : SensorTime "Sensor Time" [ stateTopic="sonoff_3188/tele/SENSOR", transformationPattern="JSONPATH:$.Time" ]
Type string : POW-startTime "POW Start Time" [ stateTopic="sonoff_3188/tele/SENSOR", transformationPattern="JSONPATH:$.ENERGY.TotalStartTime" ]
Type string : POW-Total "POW Total" [ stateTopic="sonoff_3188/tele/SENSOR", transformationPattern="JSONPATH:$.ENERGY.Total" ]
Type string : POW-Voltage "POW Voltage" [ stateTopic="sonoff_3188/tele/SENSOR", transformationPattern="JSONPATH:$.ENERGY.Voltage" ]
Type string : devicestate "Device State" [ stateTopic="sonoff_3188/tele/LWT" ]
}
Alles anzeigen
Grundsätzlich funktioniert das, jedoch schlägt die JSONPATH-Transformation fehl... Was kann ich da noch machen bzw. wie kann man das fehlende Binding nachinstallieren?