Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for OCPP based chargers #10

Open
lbbrhzn opened this issue Jul 17, 2021 · 23 comments
Open

Add support for OCPP based chargers #10

lbbrhzn opened this issue Jul 17, 2021 · 23 comments
Labels
brand-addition For adding a new charger brand (or other brand).

Comments

@lbbrhzn
Copy link

lbbrhzn commented Jul 17, 2021

There is now a custom integration for chargers that support the Open Charge Point Protocol.

See ocpp, and this issue

I think this is the closest you can get to a universal interface towards the chargers. It should also be more responsive than a cloud based solution.

What would be needed to get ocpp working with the charger card?

@lbbrhzn lbbrhzn changed the title Support for OCPP chargers Add support for OCPP based chargers Jul 17, 2021
@tmjo
Copy link
Owner

tmjo commented Jul 27, 2021

That sounds cool, I'll take a look at it (won't happen too soon though). I'll try to verify if Easee chargers can benefit from the ocpp too, I remember it was discussed some time ago, but not sure if it is fully supported by Easee.

@nagydavid
Copy link

Hi @tmjo , @lbbrhzn

Is there any update on the tuning the card towards OCPP chargers as well. If needed I can help out :)

@tmjo
Copy link
Owner

tmjo commented Dec 9, 2021

Hi @nagydavid, I didn't have time to look at it yet. There was done some work to make the card generic though, but it has not been completed yet (see #12). If you would like to test it out there are two early stage proposals here and here which you could test and propose changes to.

@tmjo
Copy link
Owner

tmjo commented Dec 18, 2021

I did some work on making the card customizable, please see #19

It would be great if you could test my proposal and see if it fulfills your requests. For sure there are some bugs, kindly let me know or contribute if you feel for it.

@dreimer1986
Copy link

dreimer1986 commented Apr 13, 2022

I am tinkering with that intention in my mind right now. I am progressing quite well by now, but one thing I do not get working at all is the following. That caused a lil break trying to fix that first.
First what I have:

  toolbar_left:
    Available:
      - text: Max Current
        icon: mdi:current-ac
        service: number.set_value
        service_data:
          entity_id: number.evbox_maximum_current
          value: '#SERVICEVAL#'

One of my badly failed experiments:

  toolbar_left:
    Available:
      - text: Max Current
        icon: mdi:current-ac
        service: number.set_value
        service_data:
          entity_id: number.evbox_maximum_current
          value: '{{ states("#SERVICEVAL#")|float }}'

The OCPP addin gives back the maximum current as number entity and lets it configure by the used service. I do that in a few templates/automations already and it works. You MUST use float numbers though. And here is the problem. Whatever I try, the service call fails with the error that value @ data['value'] is no float. Any idea?

EDIT:

Finished my first draft. Somehow the statetext fails to translate. Likely I misunderstood something?

type: custom:charger-card
brand: evbox
entity: sensor.evbox_status_connector
customImage: /local/elvimitkabel.png
image: default
details:
  debug: true
  name:
    entity_id: sensor.evbox_vendor
  location:
    entity_id: zone.home
    attribute: friendly_name
  status:
    entity_id: sensor.evbox_status_connector
  substatus:
    entity_id: sensor.evbox_status
  smartcharging:
    entity_id: switch.evbox_charge_control
  currentlimits:
    - 6
    - 7
    - 8
    - 9
    - 10
    - 11
    - 12
    - 13
    - 14
    - 15
    - 16
  statetext:
    Available: Verfügbar
    SuspendedEV: Gestoppt (Auto)
    SuspendedEVSE: Gestoppt (Wallbox)
    Charging: Lädt
    unavailable: Keine Verbindung
  collapsiblebuttons:
    group1:
      text: Verbindung
      icon: mdi:speedometer
    group2:
      text: Informationen
      icon: mdi:information
    group3:
      text: Konfiguration
      icon: mdi:cog
  info_left:
    - entity_id: switch.evbox_availability
      text: Verfügbar
  info_right:
    - entity_id: sensor.homecurrent
      text: Spannung
      unit_show: true
    - entity_id: sensor.powerwallbox_power
      text: Stromstärke
      unit_show: true
  group1:
    - entity_id: sensor.evbox_heartbeat
      text: Heartbeat
    - entity_id: sensor.evbox_latency_ping
      text: Latenz Ping
      unit_show: true
    - entity_id: sensor.evbox_latency_pong
      text: Latenz Pong
      unit_show: true
    - entity_id: sensor.evbox_timestamp_config_response
      text: Letztes Config Update
    - entity_id: sensor.evbox_timestamp_data_transfer
      text: Letzter Datentransfer
  group2:
    - entity_id: sensor.evbox_id
      text: S/N
    - entity_id: sensor.evbox_id_tag
      text: Tag-ID
    - entity_id: sensor.evbox_reconnects
      text: Neuverbindung
    - entity_id: sensor.evbox_transaction_id
      text: Transaktion-ID
    - entity_id: sensor.evbox_model
      text: Modell
    - entity_id: sensor.evbox_features
      text: OCPP-Features
    - entity_id: sensor.evbox_temperature
      text: Temperatur
      unit_show: true
  group3:
    - entity_id: sensor.evbox_version_firmware
      text: Firmware
    - entity_id: sensor.evbox_status_firmware
      text: Firmware-Status
    - entity_id: number.evbox_maximum_current
      text: Spannung Limit
      type: dropdown
      service: number.set_value
      service_data:
        entity_id: number.evbox_maximum_current
        value: '#SERVICEVAL#'
  stats:
    default:
      - entity_id: sensor.sessionenergy
        text: Sitzung Ladung
        unit_show: true
      - entity_id: sensor.evbox_stop_reason
        text: Stop-Ursache
      - entity_id: sensor.evbox_error_code_connector
        text: Fehler (Connector)
      - entity_id: sensor.evbox_error_code
        text: Fehler (Wallbox)
    Available:
      - entity_id: sensor.evbox_stop_reason
        text: Stop-Ursache
      - entity_id: sensor.evbox_error_code_connector
        text: Fehler (Connector)
      - entity_id: sensor.evbox_error_code
        text: Fehler (Wallbox)
    SuspendedEV:
      - entity_id: sensor.sessionenergy
        text: Sitzung Ladung
        unit_show: true
      - entity_id: sensor.evbox_stop_reason
        text: Stop-Ursache
      - entity_id: sensor.evbox_error_code_connector
        text: Fehler (Connector)
      - entity_id: sensor.evbox_error_code
        text: Fehler (Wallbox)
    SuspendedEVSE:
      - entity_id: sensor.sessionenergy
        text: Sitzung Ladung
        unit_show: true
      - entity_id: sensor.evbox_stop_reason
        text: Stop-Ursache
      - entity_id: sensor.evbox_error_code_connector
        text: Fehler (Connector)
      - entity_id: sensor.evbox_error_code
        text: Fehler (Wallbox)
    Charging:
      - entity_id: sensor.sessionenergy
        text: Sitzung Ladung
        unit_show: true
      - entity_id: sensor.evbox_stop_reason
        text: Stop-Ursache
      - entity_id: sensor.evbox_error_code_connector
        text: Fehler (Connector)
      - entity_id: sensor.evbox_error_code
        text: Fehler (Wallbox)
      - entity_id: sensor.evbox_current_offered
        text: Max. Leistung
        unit_show: true
      - entity_id: sensor.evbox_time_session
        text: Sitzung Zeit
  toolbar_left:
    default:
      - service: button.press
        service_data:
          entity_id: button.evbox_reset
        text: Neustart
        icon: mdi:restart
      - service: button.press
        service_data:
          entity_id: button.evbox_unlock
        text: Entsperren
        icon: mdi:lock-open
      - entity_id: number.evbox_maximum_current
        text: Max. Leistung
        type: dropdown
        service: number.set_value
        service_data:
          entity_id: number.evbox_maximum_current
          value: '#SERVICEVAL#'
    Available:
      - service: button.press
        service_data:
          entity_id: button.evbox_reset
        text: Neustart
        icon: mdi:restart
      - service: button.press
        service_data:
          entity_id: button.evbox_unlock
        text: Entsperren
        icon: mdi:lock-open
      - entity_id: number.evbox_maximum_current
        text: Max. Leistung
        type: dropdown
        service: number.set_value
        service_data:
          entity_id: number.evbox_maximum_current
          value: '#SERVICEVAL#'
    SuspendedEV:
      - service: button.press
        service_data:
          entity_id: button.evbox_reset
        text: Neustart
        icon: mdi:restart
      - service: button.press
        service_data:
          entity_id: button.evbox_unlock
        text: Entsperren
        icon: mdi:lock-open
      - entity_id: number.evbox_maximum_current
        text: Max. Leistung
        type: dropdown
        service: number.set_value
        service_data:
          entity_id: number.evbox_maximum_current
          value: '#SERVICEVAL#'
    SuspendedEVSE:
      - service: button.press
        service_data:
          entity_id: button.evbox_reset
        text: Neustart
        icon: mdi:restart
      - service: button.press
        service_data:
          entity_id: button.evbox_unlock
        text: Entsperren
        icon: mdi:lock-open
      - entity_id: number.evbox_maximum_current
        text: Max. Leistung
        type: dropdown
        service: number.set_value
        service_data:
          entity_id: number.evbox_maximum_current
          value: '#SERVICEVAL#'
    Charging:
      - service: button.press
        service_data:
          entity_id: button.evbox_reset
        text: Neustart
        icon: mdi:restart
      - service: button.press
        service_data:
          entity_id: button.evbox_unlock
        text: Entsperren
        icon: mdi:lock-open
      - entity_id: number.evbox_maximum_current
        text: Max. Leistung
        type: dropdown
        service: number.set_value
        service_data:
          entity_id: number.evbox_maximum_current
          value: '#SERVICEVAL#'

Current result:

image

P.S. This wallbox is madness. All the values regrding current and voltage come from other sensors as the wallbox does not provide these information. The session kWh couter is made with a few custom sensors, helpers and automations. But it works :D

@dreimer1986
Copy link

dreimer1986 commented Apr 14, 2022

Update: Found something out. All is fine so far. If I move the current selection into one of the groups and try it from there, I get a dropdown menu and can easily select what I want. So this looks like a problem with dropdown menu from toolbar?

I updated the code block with my whole config accordingly.

@tmjo
Copy link
Owner

tmjo commented Apr 14, 2022

Hi! Looks good @dreimer1986! I am aware that there are some issues with the dropdown that I couldn't figure out yet. It happened after Paper elements were removed from HA. With time, I'll get it working though.

@dreimer1986
Copy link

dreimer1986 commented Apr 14, 2022

Hi @tmjo . Alright this explains the problem then. Thanks for clarification :D

Is the statetext entries do not apply known, too?

Only thing missing right now is the mess of identical symbols in the groups/menus. I put text there, but I understand too well, why it does not show it there and is meant for the hover messages. Limited space and text explainations? Sounds like a bad idea.

image

Question regarding the timestamps. HA interprets these:

image

Is integrating this a useful suggestion?

@tmjo
Copy link
Owner

tmjo commented Apr 18, 2022

Hi, I'll check into the statetext - there was a mention about some issue there in another thread too. Perhaps there is something wrong.

Icons should be fully customizable, did you try to add them manually? I remember I had some issue, if I recall correctly the card will take the icon is long as there is a attribute for it on the sensor, but I've seen more and more are removed and come from the device class or something like that. I wasn't able to read out that data, but I'm sure it is possible somehow.

@dreimer1986
Copy link

I changed the icons in HA on all entities I thought I can find a better fitting one. Works fine.
image

So for now the known dropdown menu problem and custom statetext not applied is all left I can find. Rest works like a charm :D

@tmjo
Copy link
Owner

tmjo commented Apr 18, 2022

Sounds good! I'll see if I can find some time to troubleshoot it, but I am afraid it won't be very soon!

@dreimer1986
Copy link

I can at least tell you that in my case the problem with statetext is found here:

status = status !== null ? this.loc(status, "status", this.brand) || this.statetext[status] || status : '';

If changed to:

status = status !== null ? this.statetext[status] || status : '';

All is fine, so it prefers the value I removed as it is the first in the row of OR I think.

I did the same for the substatus as it has the same values possible and now:

image

@tmjo
Copy link
Owner

tmjo commented Apr 19, 2022

Right, it's trying to look for a translation, so that's probably where it returns something that it shouldn't! Thanks for the tip.

@dreimer1986
Copy link

Seems so, localize seems to have a problem:

image
This is what I see on card add assistant.

But I think this should be another report, so I am silent now ^^

@danielszilagyi
Copy link

danielszilagyi commented Nov 6, 2022

Hi @dreimer1986,

Thank you for your input! Based on your work it was very easy to integrate TeltoCharge which is also using the ocpp integration. For the current power consumption I also use template sensor, I'm also thinking of integrating the battery level from the we connect integration though it is not updating too often.

@tmjo, I think this example would be nice do be mentioned in the docs, too, as maybe more people start using OCPP enabled chargers, it could be as useful to them as it was to me, since ocpp entities are more or less the same for all chargers using this integration.

I'll also make a localization to Hungarian when I have some time.

Thank you so much for the great work both!

type: custom:charger-card
brand: teltocharge
entity: sensor.teltocharge_status_connector
customImage: /local/teltocharge.png
image: default
details:
  debug: true
  name:
    entity_id: sensor.teltocharge_model
  location:
    entity_id: zone.home
    attribute: friendly_name
  status:
    entity_id: sensor.teltocharge_status_connector
  substatus:
    entity_id: sensor.e_up_charging_time_left
    unit_show: true
  smart_charging:
    entity_id: binary_sensor.e_up_charging_cable_connected
  currentlimits:
    - 6
    - 7
    - 8
    - 9
    - 10
    - 11
    - 12
    - 13
    - 14
    - 15
    - 16
  statetext:
    Available: Available
    Preparing: Plugged in
    SuspendedEV: Stopped (Car)
    Charging: Charging
    Finishing: Finishing
  collapsiblebuttons:
    group1:
      text: Details
      icon: mdi:speedometer
    group2:
      text: Information
      icon: mdi:information
    group3:
      text: Configuration
      icon: mdi:cog
  info_left:
    - entity_id: switch.teltocharge_availability
      text: Availability
      icon: mdi:power
    - entity_id: sensor.e_up_battery_level
      unit_show: true
    - entity_id: sensor.e_up_electric_range
      unit_show: true
    - entity_id: binary_sensor.e_up_charging_cable_connected
  info_right:
    - entity_id: sensor.teltocharge_voltage
      text: Voltage
      unit_show: true
    - entity_id: sensor.teltocharge_current_power
      text: Power
      unit_show: true
  group1:
    - entity_id: sensor.teltocharge_latency_ping
      text: Latency Ping
      unit_show: true
    - entity_id: sensor.teltocharge_latency_pong
      text: Latency Pong
      unit_show: true
    - entity_id: sensor.teltocharge_timestamp_config_response
      text: Last Config Update
    - entity_id: sensor.teltocharge_timestamp_data_transfer
      text: Last Data transfer
  group2:
    - entity_id: sensor.teltocharge_id
      text: S/N
    - entity_id: sensor.teltocharge_id_tag
      text: Tag-ID
    - entity_id: sensor.teltocharge_reconnects
      text: Reconnects
    - entity_id: sensor.teltocharge_transaction_id
      text: Transaction ID
    - entity_id: sensor.teltocharge_model
      text: Model
    - entity_id: sensor.teltocharge_features
      text: OCPP Features
    - entity_id: sensor.teltocharge_temperature
      text: Temperature
      unit_show: true
  group3:
    - entity_id: sensor.teltocharge_version_firmware
      text: Firmware
    - entity_id: sensor.teltocharge_status_firmware
      text: Firmware-Status
    - entity_id: number.teltocharge_maximum_current
      text: Current Limit
      icon: mdi:current-ac
      type: dropdown
      service: number.set_value
      service_data:
        entity_id: number.teltocharge_maximum_current
        value: '#SERVICEVAL#'
  stats:
    default:
      - entity_id: sensor.teltocharge_stop_reason
        text: Stop reason
      - entity_id: sensor.teltocharge_error_code_connector
        text: Error (connector)
      - entity_id: sensor.teltocharge_error_code
        text: Error (Wallbox)
    Available:
      - entity_id: sensor.teltocharge_stop_reason
        text: Stop reason
      - entity_id: sensor.teltocharge_error_code_connector
        text: Error (connector)
      - entity_id: sensor.teltocharge_error_code
        text: Error (Wallbox)
    SuspendedEV:
      - entity_id: sensor.teltocharge_energy_session
        text: Energy charged
        unit_show: true
      - entity_id: sensor.teltocharge_stop_reason
        text: Stop reason
      - entity_id: sensor.teltocharge_error_code_connector
        text: Error (Connector)
      - entity_id: sensor.teltocharge_error_code
        text: Error (Wallbox)
    Preparing:
      - entity_id: sensor.e_up_battery_level
        text: Battery level
        unit_show: true
      - entity_id: sensor.teltocharge_stop_reason
        text: Stop reason
    Charging:
      - entity_id: sensor.teltocharge_energy_session
        text: Energy charged
        unit_show: true
      - entity_id: sensor.teltocharge_stop_reason
        text: Stop reason
      - entity_id: sensor.teltocharge_error_code_connector
        text: Error (Connector)
      - entity_id: sensor.teltocharge_error_code
        text: Error (Wallbox)
      - entity_id: sensor.teltocharge_current_offered
        text: Max. Current
        unit_show: true
      - entity_id: sensor.teltocharge_time_session
        text: Charging time elapsed
  toolbar_left:
    default:
      - service: switch.toggle
        service_data:
          entity_id: switch.teltocharge_charge_control
        icon: mdi:flash
        text: Toggle charging
      - service: switch.toggle
        service_data:
          entity_id: switch.e_up_charging
        icon: mdi:car-electric
        text: Toggle charging EV side
      - service: button.press
        service_data:
          entity_id: button.teltocharge_reset
        text: Restart Charger
        icon: mdi:restart
      - entity_id: number.teltocharge_maximum_current
        text: Set max current
        icon: mdi:current-ac
        type: dropdown
        service: number.set_value
        service_data:
          entity_id: number.teltocharge_maximum_current
          value: '#SERVICEVAL#'
    Available:
      - service: switch.toggle
        service_data:
          entity_id: switch.teltocharge_charge_control
        icon: mdi:flash
        text: Toggle charging
      - service: switch.toggle
        service_data:
          entity_id: switch.e_up_charging
        icon: mdi:car-electric
        text: Toggle charging EV side
      - service: button.press
        service_data:
          entity_id: button.teltocharge_reset
        text: Restart Charger
        icon: mdi:restart
      - entity_id: number.teltocharge_maximum_current
        text: Set max current
        icon: mdi:current-ac
        type: dropdown
        service: number.set_value
        service_data:
          entity_id: number.teltocharge_maximum_current
          value: '#SERVICEVAL#'
    SuspendedEV:
      - service: switch.turn_off
        service_data:
          entity_id: switch.teltocharge_charge_control
        icon: mdi:flash-alert
        text: Stop charging
      - service: switch.turn_on
        service_data:
          entity_id: switch.e_up_charging
        icon: mdi:car-electric
        text: Start charging EV side
      - service: button.press
        service_data:
          entity_id: button.teltocharge_reset
        text: Restart
        icon: mdi:restart
      - entity_id: number.teltocharge_maximum_current
        text: Set max current
        icon: mdi:current-ac
        type: dropdown
        service: number.set_value
        service_data:
          entity_id: number.teltocharge_maximum_current
          value: '#SERVICEVAL#'
    SuspendedEVSE:
      - service: switch.turn_on
        service_data:
          entity_id: switch.teltocharge_charge_control
        icon: mdi:flash
        text: Start charging
      - service: switch.turn_on
        service_data:
          entity_id: switch.e_up_charging
        icon: mdi:car-electric
        text: Start charging EV side
      - service: button.press
        service_data:
          entity_id: button.teltocharge_reset
        text: Restart
        icon: mdi:restart
      - entity_id: number.teltocharge_maximum_current
        text: Set max current
        icon: mdi:current-ac
        type: dropdown
        service: number.set_value
        service_data:
          entity_id: number.teltocharge_maximum_current
          value: '#SERVICEVAL#'
    Charging:
      - service: switch.turn_off
        service_data:
          entity_id: switch.teltocharge_charge_control
        icon: mdi:stop
        text: Stop charging
      - service: switch.turn_off
        service_data:
          entity_id: switch.e_up_charging
        icon: mdi:car-electric-outline
        text: Stop charging EV side
      - service: button.press
        service_data:
          entity_id: button.teltocharge_reset
        text: Restart charger
        icon: mdi:flash-alert
      - entity_id: number.teltocharge_maximum_current
        text: Set max current
        icon: mdi:current-ac
        type: dropdown
        service: number.set_value
        service_data:
          entity_id: number.teltocharge_maximum_current
          value: '#SERVICEVAL#'
    Finishing:
      - service: button.press
        service_data:
          entity_id: button.teltocharge_reset
        text: Restart charger
        icon: mdi:flash-alert
      - service: switch.toggle
        service_data:
          entity_id: switch.teltocharge_charge_control
        icon: mdi:ev-station
        text: Start charging
    Preparing:
      - service: switch.turn_on
        service_data:
          entity_id: switch.teltocharge_charge_control
        icon: mdi:flash
        text: Start charging
      - service: switch.turn_on
        service_data:
          entity_id: switch.e_up_charging
        icon: mdi:car-electric
        text: Start charging EV side
      - service: button.press
        service_data:
          entity_id: button.teltocharge_reset
        text: Restart
        icon: mdi:restart
      - entity_id: number.teltocharge_maximum_current
        text: Set max current
        icon: mdi:current-ac
        type: dropdown
        service: number.set_value
        service_data:
          entity_id: number.teltocharge_maximum_current
          value: '#SERVICEVAL#'

@tmjo
Copy link
Owner

tmjo commented Nov 6, 2022

@dreimer1986; mind checking the new version (v0.1.2) and see if the statetext is working as expected now?

@danielszilagyi; glad you got it working and translations are welcome.

Both of you: I don't mind adding example (and also what I call "template" to make it easier for people to add). How does the openEVSE / OCPP work? Would the examples you guys used work for all ocpp-enabled devices? Or are they free to implement only parts of it?

@danielszilagyi
Copy link

danielszilagyi commented Nov 6, 2022

Both of you: I don't mind adding example (and also what I call "template" to make it easier for people to add). How does the openEVSE / OCPP work? Would the examples you guys used work for all ocpp-enabled devices? Or are they free to implement only parts of it?

Well, some entities are created but are Unknown forever, for example sensor.whatever.error_code is always Unknown with TeltoCharge, however they promised to improve OCPP in the next firmware. The integration seems to follow the standard so I think whatever entities are created would be the same for any charger.
I just saw that you have a template for the We Connect (eGolf) integration so now I'm thinking of integrating whatever I can from the car integration as well.

@dreimer1986
Copy link

@dreimer1986; mind checking the new version (v0.1.2) and see if the statetext is working as expected now?

@danielszilagyi; glad you got it working and translations are welcome.

Both of you: I don't mind adding example (and also what I call "template" to make it easier for people to add). How does the openEVSE / OCPP work? Would the examples you guys used work for all ocpp-enabled devices? Or are they free to implement only parts of it?

I already updated to 0.1.2, but since then had one charging. Looks like it works quite fine for now. I keep you updated.

@tmjo
Copy link
Owner

tmjo commented Nov 8, 2022

Sounds good. Are the examples provided by you two identical (except for different names of course)? If it is, I can try to make a PR updating the 'template' to fit your needs. What's the best name for it? OCPP? openEVSE? Something else?

@danielszilagyi
Copy link

I'd suggest OCPP since the integration we're both using is the OP's project: https://github.com/lbbrhzn/ocpp
It should work with any OCPP compliant charging station and I suppose the entity names will be the same with all.

@dreimer1986
Copy link

dreimer1986 commented Nov 10, 2022

So regarding the text translation: As the update of course overwrote my hand edit I did in #10 (comment) and I did not notice any problems. It works (almost)
image
As you can see the Substatus still says Available. Rest seems fine. Even my added statextext "unavailable: Keine Verbindung" seems to work most of the time. Ignore the 0.0 V... My sensor just went nuts again.

I am 99% sure that not much changed on my side, but I replaced my draft with what I would call my final after months of working with it.

@danielszilagyi
Copy link

Hi,

Didn't have much time to start the translation in a branch, but played around my own card's look and feel. Teltonika released new firmware which now reports SuspendedEV when the charging was stopped on the car side, but still lacking some basic stuff. They don't support unlock, so I removed it from my card, also lot of sensors are present but don't contain much data.
And again, I'm also using the we connect integration to grab some useful data like battery percentage and range, and added some buttons to start/stop charging on the car side.

I edited the yaml in the original post, here are some screenshots:
image
image
image
image
image

@tmjo
Copy link
Owner

tmjo commented Jul 24, 2023

Hi!

I'd love to add support for this charger, but kindly read the wiki on how-to. Let me know if anything is unclear and I'll update it or try to explain.

Cheers!

@tmjo tmjo added the brand-addition For adding a new charger brand (or other brand). label Jul 24, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
brand-addition For adding a new charger brand (or other brand).
Projects
None yet
Development

No branches or pull requests

5 participants