[APP][Pro] Easee charger - Small. Smart. Full of power

image

Easee Home - Small. Smart. Full of power.

App Store Page: Easee Home App for Homey | Homey

Description

This Homey app allows you to monitor and control your Easee chargers using the Easee cloud API.

Supported devices

  • Easee Charger
  • Easee Equalizer

Control when your charger starts charging

The most common problem is that the car starts charging immediately when connected to the charger. A frequent solution is to build flows around this to check if the car started to charge when it was not supposed to, etc. However, the easiest way to solve the problem is to follow the two steps below.

  1. Set charger access to locked via the Easee mobile app or web.
  2. Start and stop charging using the turn on and off actions

Authentication

Login using the same credentials you use in the Easee mobile app or the https://www.easee.cloud/
Email (or phone number including country code) and password. The app will store the credentials inside your Homey in an encrypted format. The credentials will be used to generate new access tokens after each restart of the Easee app or restart of Homey.

Easee Charger

Capabilities

  • On
    Turn the charger on or off

  • Dynamic charger current (Amp)
    The target charger current

  • Charger status
    Standby, Paused, Charging, Completed, Error and Car connected

  • Enabled
    Is the charger enabled or disabled

  • Current (A) allocated for charging
    This is typically 0 when no car is charging. If you have more than one charger on a circuit this number will differ from the charge current limit since Easee will balance the current allocated automatically between your chargers.

  • Power (W)
    Watt used when charging

  • Current P1, P2 and P3
    Current used when charging, per phase

  • Voltage (V)
    Voltage for P1 (InVolt_T2_T3)

  • Last Charge Session (kWh)
    The kWh used during the last charging session

  • Lifetime (kWh)
    The kWh used during the charger’s lifetime.

  • Last 30 days total (kWh)
    The kWh used during the last 30 days
    Configurable capability, by default not shown.

  • Last calendar month total (kWh)
    The kWh used during the previous calendar month
    Configurable capability, by default not shown.

Triggers

  • Turned off
    The charger stopped charging, i.e. either stopped or paused

  • Turned on
    The charger is charging, i.e. started or resumed

  • Charger status changed
    The trigger will kick in for every status change. Car connected, etc

  • Charger status changed to [[status]]
    The charger changed status to for instance Charging. Possible to set a filter on which status to trigger on.

  • Target charger current changed
    The target charger current was changed.

Conditions

  • Charger is turned on/off
    Is the charger currently charging?

  • Target charger current is …
    Check the current target charger current

  • Charger status is
    Condition to check which status the charger currently has.

Actions

In general, all actions that change settings persistently are written to the flash memory of the charger. Easee states that you shouldn’t change these settings too frequently since it will wear out the flash. I have asked if this could be quantified but have gotten no response.

  • Turn on
    Triggers start charging, if not successful then automatically triggers resume charging.

  • Turn off
    Triggers stop charging, if not successful then automatically trigger pause charging.

  • Toggle charging
    Trigger a charger action, if charging is stopped/paused using this action it will be started/resumed, or vice versa. Uses Easee cloud toggle endpoint, i.e. no extra logic applied.

  • Set dynamic charger current
    Controls the charger current. Setting it to 0A will stop charging, and setting it to more than ~6A will start charging.

  • Set dynamic circuit current
    Controls the master circuit current (A) offered to your charger(s) to your car(s).
    Designed to be used for load balancing against your main fuse, or enable only self-consumption of power from your solar panels. Restarting the charger will reset the value.
    I use Tibber and have my Easee chargers registered there. If I change the available current I have seen that it gets reflected in the charging for some time but then is set back to the previous value. I suspect this has to do with the Tibber integration and that they set it back to the value that is defined in their app.

  • Set dynamic circuit current, per phase
    Same as above, but allows you to set circuit current per phase. If your car only changes using a single-phase then you can control which phase is used by setting the phase current values to for example; P1=0, P2=16, P3=0. This will result in phase P2 being used for single-phase charging.

  • Increase dynamic circuit current by 1 amp
    Designed to be used for load balancing against the main fuse or for self-consumption of PV power.
    Increases the dynamic circuit current by 1, for all phases not being set to 0. The idea is if you use “Set dynamic circuit current, per phase” above, for single-phase charging and to control which phase is used - then this action will only change the current for the active phase.

  • Decrease dynamic circuit current by 1 amp
    Designed to be used for load balancing against the main fuse or for self-consumption of PV power.

  • Set charger state (stored in flash)
    Enable and disable the charger

  • Set Charger idle current state (stored in flash)
    Control if the charger should show current to a connected car when not charging

  • Set permanent cable lock (stored in flash)
    Control if the attached cable should be permanently locked in the charger.

  • Set Charger led strip brightness (stored in flash)
    Control the brightness of the led strip on the charger

  • Override schedule
    Start charging immediately even if there is a schedule defined

  • Delete schedule
    Remove the schedule. A charger can only have one schedule

  • Create schedule
    Create a schedule using the start time and end time. If repeat is set to yes, then the same time is used every day automatically, otherwise, the schedule only applies to the current/following day.

  • Enable smart charging (stored in flash)
    Turn on smart charging using an operator like Tibber

  • Pause smart charging (stored in flash)
    Pause smart charging until the next day

  • Disable smart charging (stored in flash)
    Turn off smart charging

  • Reboot charger
    Send reboot command to the charger

  • Set the charging price (since v1.4.4)
    Set the cost and tax per kWh for charging. The cost and tax per kWh are used in the Easee reports to calculate the charging cost. For instance, use the Tibber “Price Changed” trigger and update the Easee charging price using this action. The input fields are of type text to allow easy calculations, e.g. {{total * 0.5}}.

Maintenance actions

  • Reconnect
    Forces a re-login using username/password to generate new access and refresh tokens.

  • Reorder capabilities
    A beta maintenance action to reorder all capabilities shown in the app to the intended order. This can be useful after major changes to capabilities (like v0.9.9). Instead of removing the device and re-add it to get capabilities in the correct order, you can use this maintenance action. This will save you from updating all flows which use the device. Homey doesn’t really like removing and adding capabilities to an existing device, so you have to restart the Easee app in Homey after executing this action. Messy, yes, but if you use the device in many flows this might still save you time. As an extra bonus, the history of the capabilities in insights also seems to remain, at least for the device I tested with.

As usual, any feedback is welcome :blush:

4 Likes

Very nice. Good work. I’m gonna test and see.

Thanks!

I don’t see how to toggle charging other than creating a flow.
Also, any way to get the icon to show status just like in the tibber app?

Right, that is not built into the app today. My thinking has been that this app would be mainly used for automating processes, not manually turning on or off charging. You can, however, build a flow and put it behind a virtual button/switch.

I would love to implement that but to my knowledge, this is not possible today in Homey.

Version 0.9.2 is released today
Contains improved access token handling, especially if you have more than one charger or use the Easee API in some other script/automation app. Turns out you can have many access tokens working in parallel, but only the last generated refresh token is valid.

Found a problem. Start of charging is treated as car connected.
My car has been connected for the last 8 hrs and now at 02:00, Tibber trigger the charging (based on best price) and my Alexa wakes me up telling me a car was just connected to the charger.

1 Like

The challenge is the mapping of the status code that the API delivers. There is no official documentation for the status codes so I tried to look at what the iOS app and easee cloud say, but haven’t been able to map all statuses. To make it more complex the iOS app and easee.cloud don’t use the same status text for the status codes - which of course makes you wonder which is best to use.

As per the below status mapping my guess is your car was done charging at this time and the API returned 4 - which in iOS app is mapped to “Completed” but in easee.cloud to “Car Connected”. I choose the easee.cloud mapping for all statuses. We could change the mapping to “Completed” and see how that works over some time. Thinking about it now I realize it could be beneficial to be able to tell when the car is done charging.

    //iOS app says 'No car connected', but easee.cloud says 'Standby'
    case 1: return 'Standby'; break;
    case 2: return 'Paused'; break;
    case 3: return 'Charging'; break;
    //iOS app says Completed, but easee.cloud says Car Connected
    case 4: return 'Car connected'; break;
    //iOS app says Ready to charge, but easee.cloud says Car Connected
    case 6: return 'Car connected'; break;
    default: return `UNKNOWN (${numType})`; break;

I contacted Tibber for a log of the charging session last night but they are unable to provide this info.
I checked easee.cloud but according to that interface, there was no session during the night.

@Stian_Oien Can you please help us?

@protonic Please PM me or send me an email to stian@easee.no and i will give you more documentation :grinning:

2 Likes

Hi! Trying to crate a flow to notify me of when the charging is done. The status returned and displayed in the homey app on iOS is “Complete”. The issue is that I cannot select “complete” as a state in the flow. Are you able to add “Complete” as an option?

Thank you!

Took me a while but eventually understood what you mean :slight_smile:
I added Completed and Error, the two missing statuses from the condition. The new version will be released in a day or two when Athom approves it.

1 Like

Sorry if I wasn’t clear enough! Awesome work and thank you, I will test it as soon as it get’s approved from Athom.

1 Like

Hi! Great app! I’ve finally gotten my charging robot and the app works perfectly :slightly_smiling_face:

I have a feature suggestion that I think would be nice. Could you add the monthly usage data in kWh from the api?

/api/sessions/charger/{chargerId}/monthly

I’m not sure what results come but maybe you get a “consumed this month so far” if you call it for the current month maybe? Or if you have a better idea.

1 Like

Will add it, coming in next release. For now called it “Current month total”, since I get statistics for the current month. We could do last 30 days if that makes more sense?

Also got a request via github to add kWh used for last charge session, so that is also coming.

Last Charge Session (kWh) and Last 30 days total (kWh) are now available in version 0.9.7 released this morning.

I just updated and they work great :slight_smile: Thank you.

Personally I’m keeping statistics for my monthly electricity usage and dividing up the consumption between “Household” “HVAC” and now also “EV”.

It would help me to automate this process if I had the monthly total at the end of the month. My plan was to add the value of this app to a virtual device once at about 23:00 last day of each month, then it would say previous monthly total and automatically export this to InfluxDB. I’d have a bit of trouble to do this with 30 days only since the length of the months differs.

But this might be a niche usecase so if you see more value with last 30 days total just keep that :slight_smile:

Basically what I’d really want is a “last month total” field. But I think that’s even more niche :stuck_out_tongue: And that’s something I’d be able to do myself as long as I have the “Current month total” also.

There is an app for that (power by the hour)

That looks amazing, definitely checking it out! Thank you!

Going to see how accurate it is compared to the easee phone app :slight_smile:

The other app is acting super strange :confused:
If it’s possible to add that official api from Easee I’d appreciate it. I’d possibly look into hacking it into the app myself otherwise :slight_smile:

There is a new test version 0.9.8, Easee Charger | Homey
You can change via settings if you want to see Last 30 days and/or Last month usage in kWh.
Please test and report back. As before these capabilities are updated once every 30 mins.

2 Likes