V2C Trydan Wallbox

I do not yet have an EV but I’ve already installed a V2C Trydan Wallbox. OH has no plug-in for this device but it can be managed using the HTTP binding. Here is the thing definition (OH 5.1.4):

version: 1
things:
  http:url:f429b6ecbd:
    label: Trydan
    config:
      baseURL: http://192.168.129.181
      refresh: 30
      timeout: 3000
      delay: 0
      bufferSize: 2048
      authMode: BASIC
      stateMethod: GET
      commandMethod: GET
      contentType: application/json
      ignoreSSLErrors: false
    channels:
      last-failure:
        type: request-date-time
        label: Last Failure
      last-success:
        type: request-date-time
        label: Last Success
      id:
        type: string
        label: ID
        description: ""
        config:
          stateTransformation:
            - JSONPATH:$.ID
          stateExtension: /RealTimeData
          mode: READONLY
      firmware:
        type: string
        label: Firmware Version
        config:
          stateTransformation:
            - JSONPATH:$.FirmwareVersion
          stateExtension: /RealTimeData
          mode: READONLY
      paused:
        type: string
        label: Paused
        config:
          stateTransformation:
            - JSONPATH:$.Paused
          stateExtension: /RealTimeData
          mode: READWRITE
      mode:
        type: string
        label: Dynamic Power Mode
        config:
          stateTransformation:
            - JSONPATH:$.DynamicPowerMode
          stateExtension: /RealTimeData
          mode: READWRITE
      voltage_installation:
        type: number
        label: Installation Voltage
        config:
          stateTransformation:
            - JSONPATH:$.VoltageInstallation
          stateExtension: /RealTimeData
          mode: READWRITE
      charge_state:
        type: string
        label: Charge Point state
        config:
          stateTransformation:
            - JSONPATH:$.ChargeState
          stateExtension: /RealTimeData
          mode: READONLY
      charge_power:
        type: number
        label: Current charging power
        config:
          stateTransformation:
            - JSONPATH:$.ChargePower
          stateExtension: /RealTimeData
          mode: READONLY
      house_power:
        type: number
        label: House power consumption
        config:
          stateTransformation:
            - JSONPATH:$.HousePower
          stateExtension: /RealTimeData
          mode: READONLY
      fv_power:
        type: number
        label: Photovoltaic power generation
        config:
          stateTransformation:
            - JSONPATH:$.FVPower
          stateExtension: /RealTimeData
          mode: READONLY
      min_intensity:
        type: number
        label: Minimum limit
        config:
          stateTransformation:
            - JSONPATH:$.MinIntensity
          stateExtension: /RealTimeData
          commandExtension: /write/MinIntensity=%2$s
          mode: READWRITE
      max_intensity:
        type: number
        label: Maximum limit
        config:
          stateTransformation:
            - JSONPATH:$.MaxIntensity
          stateExtension: /RealTimeData
          commandExtension: /write/MaxIntensity=%2$s
          mode: READWRITE

More channels can be defined as per this document.

Note: dimensions must be defined in items, not in channels

I have a small solar plant (1.35KW) and I intend to use non-used production (“lost” to the grid) to charge EVs. My electricity meter counts in 15 minute intervals, so my idea is to have the following charging plan (and others).

Depending on solar production, charge the EV during a certain time, probably 5 minutes, and then pause the charging until I’m break even (the surplus used during charging is compensated by injecting electricity in the grid in a 15 min interval).

I will publish this charging plan in the coming days.

2 Likes