Peugeot Citroen DS cars - Connected Car

signed up for tronity and that works well so use a combow of both

Is the threshold through Tronity?

nope i still have that via psa for some reason, the tronity is mainly the tracking

Ok thanks. My threshold isn’t working anymore. Yours?

yes, but my tracking is not.

My car is just loading to 80% and not able to disable treshold. some how it try to charge, but after about minute it stopped.
Any ideas what wrong.

Oh. Sorry I wrote to wrong place.

My car is just loading to 80% and not able to disable treshold. some how it try to charge, but after about minute it stopped.
Any ideas what wrong.

At the moment I’m also having issues with fetching data and threshold limit shows 0. Most probably the problem is at the PSA end.

Ok. Got it to work again by re-submitting login details in user config and then in OTP config.

In case anyone is using influxdb2 and wants to show long term slow charge vs fast charge percentage gauge:

image

source sensor:

    - platform: template
      sensors:
        citroen_ec4_charging_mode:
          friendly_name: "Charging mode"
          value_template: '{{ states.sensor.citroen_ec4_raw.attributes["energy"][0]["charging"]["charging_mode"] }}'

Two influxdb sensors that show how many minutes were spent in Slow and Quick charging modes:

  sensor:
    - platform: influxdb
      api_version: 2
      token: YOUR_TOKEN_HERE
      organization: YOUR_INFLUX_ORG_ID_HERE
      ssl: false
      host: localhost
      port: 8086
      bucket: hass/autogen
      queries_flux:
        - range_start: "2022-01-01"
          name: "Citroen EC4 Influx Slow charge"
          unit_of_measurement: "mins"
          imports:
            - "contrib/tomhollingworth/events"
            - "date"
          query: >
            filter(fn: (r) => r["entity_id"] == "citroen_ec4_charging_mode")
            |> filter(fn: (r) => r["_measurement"] == "units")
            |> filter(fn: (r) => r["_field"] == "state")
            |> events.duration(unit: 1m, columnName: "duration")
            |> group(columns: ["_value", "_start", "_stop"])
            |> sum(column: "duration")
            |> pivot(rowKey: ["_stop"], columnKey: ["_value"], valueColumn: "duration")
            |> fill(column: "Slow", value:0)
            |> keep(columns: ["Slow"])
            |> rename(columns: {Slow: "_value"})
        - range_start: "2022-01-01"
          name: "Citroen EC4 Influx Fast charge"
          unit_of_measurement: "mins"
          imports:
            - "contrib/tomhollingworth/events"
            - "date"
          query: >
            filter(fn: (r) => r["entity_id"] == "citroen_ec4_charging_mode")
            |> filter(fn: (r) => r["_measurement"] == "units")
            |> filter(fn: (r) => r["_field"] == "state")
            |> events.duration(unit: 1m, columnName: "duration")
            |> group(columns: ["_value", "_start", "_stop"])
            |> sum(column: "duration")
            |> pivot(rowKey: ["_stop"], columnKey: ["_value"], valueColumn: "duration")
            |> fill(column: "Quick", value:0)
            |> rename(columns: {Quick: "_value"})

No let’s add the percentage sensor:

    - platform: template
      sensors:
        citroen_ec4_slow_charge_percentage:
          friendly_name: "Slow charge percentage"
          unit_of_measurement: "%"
          value_template: >
            {{ ((
              (states.sensor.citroen_ec4_influx_slow_charge.state | float(default=0)) * 100
            ) /
            (
              (states.sensor.citroen_ec4_influx_fast_charge.state  | float(default=0)) +
              (states.sensor.citroen_ec4_influx_slow_charge.state | float(default=0))
            )) | round(1) }}

And add a gauge to lovelace:

          - type: gauge
            entity: sensor.citroen_ec4_slow_charge_percentage
            min: 0
            max: 100
            name: Slow charge %
            needle: true

Anybody have perhaps done automations on “KM since last charge” and “Last date time charged to 100%” ?

1 Like

It does not help in my case. Charge button take no efect at all. All information is show fine and update quite fast.

Open a new browser tab next to the Homeassistant tab and try to open URL:
http://IPofTheSoftware:5000/charge_control?vin=YourVIN&?always_check=true

It should show you what is the actual threshold that vehicle is using.

If it is something else than 100% you can try to change it manually by using this URL in the separate browser tab:
http://IPofTheSoftware:5000/charge_control?vin=YourVIN&percentage=100

Then you can re-check the situation by running the first URL again.

1 Like

I Started to work after several resetting’s. But yesterday PSA car controller asked to start addon again.
It does not start at all anymore.
Does somebody else have any problems?

-Wellu

Broken for me as well. I just opened the official app and it asked me to sign in again but this time it also asked for CAPTCHA verification. Maybe this is the reason why PSA car controller doesn’t work anymore?

Okay. This morning started to work again after I completed again the logging process.

Today stopped working again. Now 53% of battery in car and no charging in any way.
Uninstall and installed again and still nothing. Nothing whitout HA and PSA eitrher.
I have serious problem now.

Any help would be good.
Thansk
-Wellu

I´m trying to deploy this settings on my Home Assitant.

First of all, I have configured the plugin as a docker, completed the setup and is totally accesible, if I go to webpage

http://local_ip:5000/get_vehicleinfo/XXXXXXXXXXXXX?from_cache=1

I cant read all the data of my Citroen e-c4

Also, if on my home assitant I run the command

http://local_ip:5000/get_vehicleinfo/XXXXXXXXXXXXXXX?from_cache=1

It shows all the data.

I have configured all the sensors as described on the tutorial and they appear on Home Assistant, but they are empty, none of the data showed on the previous step is displayed.

All my sensors show a Not available message.

Here is my sensor.yaml config:

# Citroen ec4  
  - platform: rest
    name: E-C4
    resource: http://ip_local:5000/get_vehicleinfo/XXXXXXXXXXXX?from_cache=1
    scan_interval: 60
    timeout: 30
    value_template: 'OK'
    json_attributes:
     - energy
     - timed_odometer
     - battery
  - platform: template
    sensors:
      ec4_battery_voltage:
        friendly_name: "Battery Voltage"
        unit_of_measurement: "V"
        value_template: '{{ states.sensor.E-C4.attributes["battery"]["voltage"] * 4 }}'
      ec4_battery_level:
        friendly_name: "Battery"
        unit_of_measurement: "%"
        value_template: '{{ states.sensor.E-C4.attributes["energy"][0]["level"] }}'
      ec4_battery_autonomy:
        friendly_name: "Autonomy"
        unit_of_measurement: "km"
        value_template: '{{ states.sensor.E-C4.attributes["energy"][0]["autonomy"] }}'
      ec4_charging_status:
        friendly_name: "Charging Status"
        value_template: '{{ states.sensor.E-C4.attributes["energy"][0]["charging"]["status"] }}'
      ec4_mileage:
        friendly_name: "Mileage"
        unit_of_measurement: "km"
        value_template: '{{ states.sensor.E-C4.attributes["timed_odometer"]["mileage"] }}'
# Citroen ec4 charge_control
  - platform: rest
    name: E-C4_charge_control
    resource: http://ip_local:5000/charge_control?vin=XXXXXXXXXX&?always_check=true
    scan_interval: 60
    timeout: 30
    value_template: 'OK'
    json_attributes:
     - _next_stop_hour
     - percentage_threshold
  - platform: template
    sensors:
      ec4_stop_hour:
        friendly_name: "Next Stop Time"
        value_template: '{{ states.sensor.E-C4_charge_control.attributes["_next_stop_hour"]}}'
      ec4_threshold:
        friendly_name: "Threshold"
        unit_of_measurement: "%"
        value_template: '{{ states.sensor.E-C4_charge_control.attributes["percentage_threshold"] }}'

Can anyone please help me?

I have just been trying to set this up too, I did not get a SMS back, and I (think) that the ip_local:5000 should be changed to the ip of the home assistant device?

HI. New car arrived I did all steps all is working. But I am missing the tracking of the car and the trips. Nothing appears on the map. Any information on the track, what am I missing
Tnx

Nope, you did not miss anything except the reports on the Github repo of the addin: