Skip to content

Configuration Example: openHAB

steff393 edited this page Apr 7, 2023 · 1 revision

Zunächst musst Du ein http Thing anlegen. Hier die Code-Ansicht:

UID: http:url:wallbox
label: wbec
thingTypeUID: http:url
configuration:
  authMode: BASIC
  ignoreSSLErrors: false
  baseURL: http://wbec.local/
  delay: 0
  stateMethod: GET
  refresh: 30
  commandMethod: GET
  timeout: 3000
  bufferSize: 2048
channels:
  - id: json
    channelTypeUID: http:string
    label: JSON
    description: ""
    configuration:
      mode: READONLY
      stateExtension: json
  - id: setMaxCurr
    channelTypeUID: http:number
    label: Ladestrombegrenzung
    description: ""
    configuration:
      mode: WRITEONLY
      commandExtension: json?currLim=%2$s

Damit hast Du ein http URL Thing mit einem string Channel und einem Number Channel. Die baseURL muss natürlich die Deines wbec sein (dieselbe, über die Du auch die Weboberfläche erreichst) Da Du mindestens das Thing selbst über die Main UI erstellen musst... einige der Felder sind nur im advanced Mode sichtbar. das heißt, Du musst jeweils das Kästchen rechts oben anklicken (Show Advanced)

Nun kannst Du den String Channel mit diversen Items verlinken, wobei Du im Link als Profile jeweils JSONPATH aktivierst und den passenden Path angibst, z.B. $.box[0].currLim um den maximalen Ladestrom zu sehen. Der Itemtyp ist abhängig vom Inhalt des Feldes im JSON Objekt, kann also durchaus Number sein, auch wenn der ursprüngliche Channel ein string Channel ist. Achtung! Falls Du mehrere Wallboxen nutzt, gibt es für jede Wallbox einen eigenen Knoten im JSON Objekt, dann musst Du, um sicher zu sein, die Daten korrekt zuzuordnen, eine etwas genauere Form wählen, das wäre dann z.B. $.box[?(@.busId=='1')].currLim für die Wallbox mit der ID 1.

Um den Ladestrom zu setzen, musst Du den number Channel mit einem Number Item verbinden, über welches Du dann die Ladestrombegrenzung in zehntel Ampere Schritten vorgeben kannst (innerhalb der Grenzen, die durch currMax und currMin vorgegeben sind) Auch hier gilt: hast Du mehrere Wallboxen, so brauchst Du pro Wallbox einen eigenen Channel zum setzen, dann muss die commandExtension um die Angabe der ID ergänzt werden.

Weitere Alternative: MQTT