Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Homey Easy Charge Controller is a Homey App that can control your existing Homey Charger App (for example, EaseeHome) based on Nordpool prices, your preferences, and input from your existing Homey Car App (e.g. myAudi or Polestar App for Homey). It must be 'wired' with Homey Flows or Advanced Flows to get information from other sources and to control other Homey Apps and Devices.


There is more to come. Stay tuned. And remember this is freeware, don't expect more than you would expecto to get for nothing. There is always a way to contribute, though.

Implemented features

  • Small step charging. You can choose to charge only 1 or 2 or a few hours, maybe because the windows of really cheap prices is less that you need to reach the target SoC.
  • Notifications. If important thing is happeing, you will get a notification for it.
  • Charger Control Strategy. Use built in schdeduler in charger, (i.e Easee) as an configurable option. This is probably more robust than trusting the cloud commands in real time
  • Support for different power grid prices during the day/night/weekend
  • Support for the Norwegian Power Support feature
  • Optional to add tax and additional fixed cost to the final price
  • Generich error handling and logging

Planned features

  • Ability to set upper level in powerprice, either in absolut amount or as a percentage of this days average
  • Alerting. If errors occurs or if price is low or high, to either remind you to charge your car or to advice you to not doing so
Warning

Note, use the the test version to get the lastest latest:  https://homey.app/no-no/app/no.bwa.easy-charger/Easy-Charge-Controller/test/

But normally usually, you would use: : https://homey.app/no-no/app/no.bwa.easy-charger/Easy-Charge-Controller

Release notes :

  • v1v2.20.0: New Nordpool API built from scratch.
  • v1.5.17: Quiet mode setting NEW: Emergency mode to handle charging if Car App is offline
  • v1.15.0:  Bugfixes and improvements. NEW: feature for enable debuglogging. IMPROVEMENT: better caclulation of charge statistic. And bugfixes

This page vil be updated regularly, so visit it regularly

 

Info

Contents

Table of Contents
excludeområdeaktivitet

Introduction

What it is and what it is not

Homey Easy Charge Controller is an Homey App than can control your eksisting Homey Charger App ( i.e EaseeHome), based on Nordpool prices, your prefererences and input from your existing Homey Car App (i.e myAudi) . It is intended to be 'wired' with Homey Flows or Advanced Flows to get information from other sources and to control other Homey Apps and Devices.
From here and down this document ECC stands for Easy Charge Controller

When a Controller device is created you should initialize it with some setup. I the drawing below all components are shown.

Overview picture

The mandatory components are drawn in green color. 

Image Removed

The minimum setup

The minimum setup is ECC and a Homey App for your charger. The Homey Car App is optional, but in most cases you would probably have that as well.

Using the minimum setup you must manually update the current SoC and target SoC using the Easy Carger App sliders. The daily power prices is downloaded from internet at 13.30 every day.

The typical setup

The typical setup is ECC and a Homey App for your charger and a Homey Car App.

Using this setup you are able to feed current SoC and Target SoC automatically by connecting the Car App to Easy Charge Controller using flows

Getting started

  1. Install the app from App Store
  2. Then add new Device, select Easy Charge Controller and the Controller device
  3. Select Connect
  4. You should get one Charge Controller device
  5. Add it
  6. You should see it like this 
    Image Removed
  7. Go to settings and select your price zone, price setting and others you may want to change
  8. Finally you must create the mandatory flows, either the flows for charging strategy Local Scheduler
  9. And add the optional flows of you desire
  10. Happy charging !

Mandatory Flows for any charger strategy

The absolute minimum flow setup is this. It will wire 

Starting and stopping the charger need to be wired so ECC kan start and stop charging when the plan is due. If you choose to only do this, you must set the current Soc and target Soc manually. Read more in the how to operate the App. section.

Image Removed

Additional Mandatory Flows for Charger Strategy Local Scheduler

These flows is only needed if you have a Easee Home Charger and want to utilise the Local Scheduler Strategy

The ECC need to be able to set a charge-plan and delete it, so you need to add these two flows.

Sending schedule to the charger

This will fire when the car is connected and the strategy is local scheduler. It will also fire when important settings are changed. Like when charge target SoC is changed

Image Removed

Delete schedule

This will fire when a scheduled charging session is completed or car is disconnected, and the strategy is local scheduler

Image Removed

About your Charge Robot

The charge robout I'm using is Easee, but most Charge Robots will works as long as they have a Homey App. heres the known list of Charge Robot Apps for Homey

  • Easee HomeSupports Local Scheduler
  • Zaptech Go. Does not support Local Scheduler
  • Wallbox Charger. Does not support Local Scheduler
  • Garo. Seems to not have a lot of features. But may be able to be started og stopped by Homey. In that case it may work
  • Go-e Charger. Does not support Local Scheduler
  • ChargeAmps-HALO. Does not support Local Scheduler

So it's seems like Easee still is the king of robots ....

If you don't have any Homey App to manage you charger it's may even be possible to utilize ECC if you can stop or start charging with you Homey App for your Car. Some examples will be provided in the future. Stay tuned.
Info

Did I miss a charge robot ? Notify me ...

How to operate the App

The Controller Panes

To turn on or off your charger controll process. It will still load prices, and retrieve status information, but it will not start or stop the carger even if the schedule is due.

Image Removed

The 2 sliders to manually controll current SoC or the target SoC

Image Removed

The 2 dropdowns to control the abmout of charge and when to get finished.

Here's the first thing you need to be aware of. If 'Use Charge End' time is selected, the controller will use Current SoC, Target SoC, Battery Capacity, Nominal Charge Speed, and the current time to decide when to select the hours it will enable charing on.

If you select i.e 3 hours, the Controller will select the 3 cheapest hours between now and the Charge End time to  enable charging. 

Note: If the car is not connected, the time of now will be used in the calculation, but if the Car is connected, then the hours will be recalulated from the time of car connecting and the Charge End time. This is quite obviously, as the cheapest hour may be passed, and if the Car was not connected at that time, it cannot be used, so the i.e 3 cheapest hours from the car connect time and Charge End time will be used.

Image Removed

The next pane is long, but nice. It shows all you need to know about what the Controller is planning to do. This is the main idea of the App. There's a lot of smart chargers out there, but no one are telling in advance the whole story about chat is plans to do. This App do.

So the first row is about the current SoC and target SoC.

The next is showing the charge speed ( you set this with the settings tab Image Removed ) and the Charge End time

Next is the count of hours to charge. If 0, it means use end time and current SoC, and the result of the calulation is shown as 00:24 in this picture. The Controller anly use whole hours when controlling, so the Start Charge Command will happen at the start of the hour, and the End Charge Command will execute at next hour. In case of 00:24, it rounds up to next whole hour.

If you choose i.e 3 hours, the number will show here, and that amount will be selected. and the Calulated Charge Time ids just to help you set the amount, if that is your desire. Sometimes you maybe only want to charge just 2 hours, because that is what you want. Well, here you can do that.

Nest is the amount of ampere and watt you charger is delivering. It's just to inform you, it you have the need of knowing, which the whole idea of the App really is....

And at last there is one row for each hour, from 13.00 todauy to 12.00 tomorrow, which is the scope of this Charge Controller.. The left is Yes or - (dash) and the rigth is the price for that hours. So you can see with your own eyes whats going on, and what will happen from now to tomorrow at 13.00 when new Nordpool prices are loaded.
The amount in parantheses id the price support for the current hour (in øre). The price used is the resulting real price. Most values are selfdescribing. The Average charge speed and Charging sessoion duration is experimental for the time beeing.
Image Removed
  • Price graph. NEWCurrent price this hour capability NEW: Continue charging to end time 
    v1.4.15:
    New Pause button in device, instead of built in onoff capability.
  • v1.4.2: Norwegian price support adjusted from 0.70 to 0.73
  • v1.4.0: (only in test). Simplified charging, only one continued charge plan is now used. The active (if there is one) charge plan is now visible in App. Lots of bugfixes and optimizing. NEW: flow card for set-effective-chargespeed enabling dyamically update of speed calculation based on i.e temperature, just create the flow of your desire
  • v1.3.28: NEW: Manual mode 
  • v1.3.0: NEW: More excact charging-plan when using Local Scheduler Strategy. NEW: New flow card to get the charge plan as text to display where you desire
  • v1.2.0: NEW: Emergency mode to handle charging if Car App is offline
  • v1.1.0: NEW: feature for enabling debuglogging. IMPROVEMENT: better calculation of charge statistics. And bugfixes


This page will be updated regularly.

 


Info

There is more to come. Stay tuned. And remember, this is freeware; expect to get what you would expect to get for nothing. There is always a way to contribute, though.

Implemented features

  • Small step charging. You can charge only 1 or 2 or a few hours because the hours with low prices are less than you need to reach the target SoC.
  • Notifications. If a significant event occurs, you will receive a notification.
  • Charger Control Strategy. Use the built-in scheduler in the charger (for example, Easee) as a configurable option. This method is more robust than trusting the cloud commands in real time.
  • Support for different power grid prices during the day/night/weekend.
  • Can take into account the Norwegian Electricity Subsidy feature ("Strømstøtte" = 90% of hourly spot price over 0.70 NOK refunded).
  • Optional to add tax and additional fixed costs to the final price.
  • Generic error handling and logging.

Planned features

  • Ability to set upper level in power price, either in absolute amount or as a percentage of this day's average.
  • Notifications. If errors occur or the price is low or high, either remind you to charge your car or advise you not to.




Contents

Table of Contents
excludeområdeaktivitet


Introduction

What it is and what it is not

Homey Easy Charge Controller is a Homey App that can control your existing Homey Charger App (i.e.EaseeHome) based on Nordpool prices, your preferences, and input from your existing Homey Car App (e.g. myAudi or Polestar App for Homey). It is intended to be 'wired' with Homey Flows orAdvanced Flows to get information from other sources and to control other Homey Apps and Devices.

From this point on, ECC stands for Easy Charge Controller.

When you create a Controller device, you should initialize it with the required and optional Flows described in this document. The drawing below shows all the components.

Overview picture

The mandatory components are drawn in green color. 

Image Added


The minimum setup

The minimum setup is ECC and a Homey App for your charger. The Homey Car App is optional. Most of you will already have this.

Using the minimum setup, you must manually update the current SoC and target SoC using the Easy Charger App sliders. The daily electricity prices are downloaded from Nordpool at 13.30 every day.

The typical setup

The typical setup is ECC, a Homey App for your charger, and a Homey Car App.

Using this setup, you can automatically send the current SoC and Target SoC to ECC by connecting the Car App to ECC using flows. In some cases, for example, for the Polestar app, target SoC is not available. Still, you can create a Homey variable representing the target SoC setting in the vehicle and create a flow to send this to ECC when the variable changes. 

Getting started

  1. Install the app from the App Store.
  2. Then, add a new device and select Easy Charge Controller and the Controller device.
  3. Select Connect.
  4. You should get one Charge Controller device.
  5. Add it.
  6. You should this: 
    Image Added
  7. Go to settings and select your price zone, price setting, and other parameters you may want to change.
  8. Finally, you have to create the required flows. If this option is used, the flows for charging strategy "Local Scheduler" are also needed. 
  9. And add the optional flows of your choice.
  10. Happy charging!

Image Added

Additional Required Flows for Charger Strategy Local Scheduler

These flows are only needed if you have an Easee Home Charger and want to utilize the Local Scheduler Strategy.

The ECC needs to be able to set a charge plan and delete it, so you need to add these two flows.

Send the schedule to the charger

The card "Create a charging schedule" will fire when the car is connected, and the strategy is "Local Scheduler." It will also fire when important settings are changed, for example, when the Target SoC has been changed.

Image Added

Delete schedule

The card "Delete current charging schedule" will fire when a scheduled charging session is completed or the car is disconnected, and the strategy is "Local Scheduler."


Image Added


About your Charge Robot

I am using Easee's charge robot, but most Charge Robots will work as long as they have a Homey App. Here is the list of known Charge Robot Apps for Homey

  • Easee HomeSupports Local Scheduler.
  • Zaptech Go. Does not support Local Scheduler.
  • Wallbox Charger. Does not support Local Scheduler.
  • Garo. It does not have a lot of features. But it may be able to be started or stopped by Homey. In that case, it may work.
  • Go-e Charger. Does not support Local Scheduler.
  • ChargeAmps-HALO. Does not support Local Scheduler.

It seems like Easee is still the king of charging robots.

If you don't have any Homey App to manage your charger, it may be possible to utilize ECC if you can stop or start charging your car with your Homey App. I will provide some examples soon. Stay tuned.


Info

Did I miss a charging robot? Notify me ...


How to operate the App

The Controller Panes

To turn on or off your charger control process. It will still load prices and retrieve status information, recalculate charging durations, but it will not start or stop the charger even if the schedule is due.

Image Added

The two sliders that manually control current SoC or the target SoC:

Image Added


The two dropdowns to control the amount of charge and when charging should finish by.

Here's the first thing you need to be aware of. If the 'Use Charge End' time is selected, the Controller will use the Current SoC, Target SoC, Battery Capacity, Nominal Charge Speed, and the current time to decide the hours it will enable charging.

If you select, for example, three hours, the Controller will choose the three cheapest hours between now and the Charge End time to enable charging. 

Note: If the car is not connected, the time of now will be used in the calculation, but if the car is connected, then the hours will be recalculated from the time of the car connecting and the Charge End time. This behavior is quite apparent, as the cheapest hour may be in the past, and if the car was not connected at that time, these hours are, of course, no longer available, so the three hours with the lowest prices from the car Connect time and Charge End time will be used.


Image Added


The next pane is long but very useful. It shows all you need to know about the Controller's plans. This list of planned charging hours is the main functionality of the App. There are a lot of smart chargers out there, but these do not show the detailed charging plan it has created in advance. This App does.

So, the first row is about the current SoC and target SoC.


Image Added

Chargingplan and Active Chargingplan is used to show what's planned. The left value, Chargingplan is showing a duration, but only when a car is not connected. This value will update when new values arraiving og anything changes. It will show which chargeplan that will be applied if the car is connected now

The Active Chargingplan will show when a car is connected and the plan is applied. It will not change, unless important values are updated.  These are :  Charging end time, Count of charging hours, Given charging speed (both flow and settings panel), prices in settings panel, SoC Target value. Meaning all settings that may impact, but not Current SoC, that will not alter chargeplan when charging and after a chargeplan is completed.  

The next shows the charge speed ( you set this with the settings tab. Image Added ) and the Charge End time

Next is the count of hours to charge. If 0, it means use end time and current SoC, and the calculation result shows as 00:24 in this picture. The Controller only uses whole hours when controlling, so the Start Charge Command will happen at the start of the hour, and the End Charge Command will execute at the next hour. In the case of 00:24, it rounds up to the next whole hour.

If you choose, for example, 3 hours, the number will show here, and that amount will be selected. The calculated charge time helps you set the amount you prefer. Sometimes, you may only want to charge for 2 hours. Here, you can do that.

Next is your charger's Current (Ampere) and Power (Watt). Due to grid pricing strategies in some countries, this is frequently set lower than the maximum the charger can deliver. 
And last, there is one row for each hour, from 13.00 today to 12.00 tomorrow. This list of planned charging hours is the main feature of the Easy Charge Controller. The left is Yes or - (dash), and the right is the price for those hours. So you can see the hours ECC plans to enable charging and what will happen from now to tomorrow at 13.00 when new Nordpool prices are loaded. The ability to provide such information is one of the motivations for developing the App.

The amount in parentheses is the price support for the current hour (in øre). The price used is the resulting actual price. Most values are intuitive. The Average charge speed and Charging session duration are experimental for now.

Image Added


This is a sample of one hour where a charge session is planned for. By intention, "No" is a dash, not "No". This is because it is easier to differentiate the Charge hours from the No Charge hours.

Image Added


When you change the charge end time or the number of charge hours, a recalcation will occur.

You can create as many devices as you want to have different targets to control. You can even control the chargers at home and your cabin if you have both chargers available in Homey as Apps, and they are cloud-ready, such as the Easee charge robot. 

Settings

This section explains how to set up the different values so that ECC can select which hours to charge during the next 24 hours.

Initial setting

Battery Capacity: The net Battery Capacity.

Effective charging speed: You must estimate and provide the effective charging speed. ECC uses this number to accurately calculate a charge plan.

Charging Strategy is described here.

The "Stop charging if target passed" checkbox is used if you want ECC to stop an active charging session if the current SoC is updated and above the set target SoC. It requires a connection to the Charger App, and the function will fail if this connection is lost. It is useful if you want to have the car set to a higher target. Some vehicle brands, for example, Polestar, do not let you adjust the Target SoC remotely; this function is useful in such cases. 

Image Added

Price settings

If you want to consider tax, additional fixed fees, or power grid fees, fill in the values. You should also check/uncheck the option for compensation for the Norwegian price subsidy program. All prices will be adjusted if the option is enabled by subtracting each hour's subsidy amount.

Put 0 (zero) in all fields to act on raw prices only.

Note: To accurately calculate the cheapest hours to charge, the algorithm requires that you enter values for at least the Power grid fee if it differs during the day or night (or weekend). I recommend that you also enable the option for the Norwegian price subsidy (support).

Image Added

Quiet mode


Its a new settings from v1.5.17 where it will, when set to Yes, publish fewer timeline entries.


Image Added


Charge status mapping

Default are values for the Easee Home charger.

Image Added

Easy Charge Controller uses some local status codes, initially set for Easee. Other chargers need to map their status values to match. This describes how the app uses each value:

Easy Charger Controller expected status valuesExplanation
ChargingThe car is charging
CompletedThe car is finished charging but still connected to the charger
PausedThe car is connected but is not charging; Easee App or Easy Charge Controller stops the charging session.
StandbyNo car is connected, and the charger is up and ready
Car connectedThe car is connected, but the charging session has yet to start. The status will change to Charging shortly.


How to connect the dots

This section explans how to set up required and recommended Flows to control ECC. 

When... cards


Image Added

Controller turned on / off

Optional card, use if you need something to happen when the ECC is started or stopped.

Controller was started

This is the advice for the Controller was started card. It will gather the Charger status and SoC values from your Car.

Image Added


Create a charging schedule

 The "Create a charging schedule" card will fire when ECC has created a new charge schedule. Will only work for Easee Charger and with Charge Strategy Local Scheduler.

You must create a HomeyScript to have this working because Easee Home will not access flow tags. You will find a working script here.

Image Added

Delete the current charging schedule

The "Delete current charging schedule" card will fire when ECC thinks you will not need the schedule anymore. Currently, this is when :  

  • Car is disconnected
  • A new charging plan is created
  • If important settings are changed, that will alter the charge plan if you select a different Charge Strategy.

Image Added

Prices have been updated

This card is optional. But if you would like to be notified, this is how to set up this card.

Image Added

Charging status is requested

Connecting the "Charging status is requrested" card is recommended to wire this. Sometimes, ECC needs to get the Charger status, and you can wire the Status tag from your Charger here. Note that it's not a flow tag, but a property tag from the Charger, ( Easee Hjemme - Status) in this case.

Image Added

Start charging session

You should connect the Start charging session to the Turn On action flow card for your charger.

Image Added

Stop charging session

You should also connect the Stop charging session to the Turn Off action flow card.

 Image Added


Updated charging hours

Thsi card will fire when a charge plan is created or updated. It will fire regardless of charging stategy, be aware that if there is several durations it til come as comma separated values. example would be 23:00-01:59,03:00-05-59

When charging strategy local schedule is used, it will always come as one continuarly duration.


Image Added


Sample Spreadsheet value:

Image Added

Then... cards


Image Added


Update current 'State of Charge' (SoC)


Image Added

Update target 'State of Charge' (SoC)


Image Added

Update status with [charger-status]

Image Added


Update current ampere [current-ampere]

Image Added

Update current power [current-power]

Image Added

Update current powermeter [power-meter] powermeter charge session [power-meter-session]


Image Added


Set the [effective-chargespeed] in the charging controller

Image Added

From v1.4.0

Using this card you are allowed to change the  effective charging speed used for calculation. When this flow runs the ECC will recalculate.

Note! Use this wisely, if ECC must recalculate during an ongoning charging session the result may be unpredicted. It's adviced to ensure the updated speed is done before the charging session is planned to start and with sufficient time ahead to allow increased chargingtime.


Pause or resume ECC

Use if you want to change this state of ECC from a flow of your desire

Image Added

Error Handling and Logging

There is a flow card that enables the logging of all errors. 

Below is an example of how to push errors and details to a Google Spreadsheet with Homey Easy Logger.


Image Added


For example, how to send logs to a Google Spreadsheet with Easy Logger and catch errors to log them in the spreadsheet.

Image Added

Enable more details in diagnostics

If you check the checkbox as shown below in device settings, more details in diagnostics will be enabled. Any restart is not needed.

Be aware that this will produce more logging, and the diagnostic report is limited in size, so the diagnostics will contain data for a much smaller period.


So it's advisable to enable this before sending a diagnostic. Often, this might be requested by the developer.

Image Added

Features

Charger Strategy

If your charger has a built-in scheduler available in the Homey App, this is the most reliable option for charging strategy. With that option enabled, every new charging schedule will be sent to the charger when you create it (via the cloud, but if that fails, you will get a message and retry). Later, at night, in most cases, when the charger has planned to charge, it will execute, even if it is offline. So this is the most reliable solution if your charger supports it.


If the strategy is Cloud Commands, the Easy Charger will execute the start and stop commands in real-time, and if the charger is offline, the charge session will fail. It's rare but is known to happen when it's most problematic, e.g., before an important early morning long journey. That is as per Murphy's Law.

Image Added


Charge plan calculation

New feature from v1.3.0. There is always heat loss during EV battery charging. When temperatures are low, the heat loss during charging may become significant, and as high as 30-40% at -10C to -20C. This means that for every 1.0 kWh added to the battery, the charger may use 1.3 to 1.4 kWh electricity. During summer temperatures, the heat loss may be as low as 10%, but always a factor. This loss will extend the required charge duration to reach Target SoC. It is now possible to set ECC to add a user defined additional charge duration to ensure the car has completed at the required end time. This number is input as a percentage. If you set a value greater than 0, ECC will add this percentage to the calculated charge time, and will use this exact value in the charge plan sent to the charger. The new charge plan will then have a start time of hours and minutes. such as 03:12 - 05:00 instead of 03:00 - 05:00. 

To activate this feature go to Settings, and set a value of 1 or higher in the field 'Amount of additional charge time'.  You must also use the charger strategy Built-in scheduler for this feature to be used.


Image Added


You will see the calculation result in paranthesis next to the more exact calculated duration. In the case shown below, the exact calulation is 2:32 and a 15% additional charge duration will be 2:54. And the charge plan created will always end on whole hours. It's the start time that will have som minute value. Example could be 02:06 - 05:00.


Image Added


Tip

If you feel there is no need to add anything to the calculation, just set a value of 1 to activate the featue


Car Offline Emergency charging

Info

Note: If you do not have any reliable source to enable this automatic feature, leave it unused. It's not mandatory to do this; it's just an option for those that can utilize it.


This is a special mode used if ECC learns that the car is not online anymore. If this happens, unless you use ECC in all manual modes, ECC will switch to emergency mode, where a fixed number of hours are used. You must set this value to an amount that will ensure enough charge duration. The default value is 5 hours, but your preferred value must be set. It depends on the power your charger delivers. If you can charge with 11 kW, your value may be low, but if your charge speed is only 3.6 kW, you may want more hours. It's important to adjust this value if you want an optimal emergency charge plan.


To set the number of emergency hours, select the Offline charging hours dropdown and pick a value that suits you. 

Image Added


So, how will ECC know if your car is offline or online?


There are two sources of that information

  • Manual switch
    • There is a button that you may press to toggle the Online state.

      This is how Car is online = true looks like:

      Image Added

      This is how Car is online = false looks like:

      Image Added


  • Flowcard from your Car App
    • If there is a way to let your car notify ECC that it is online, ECC has a flow card to receive this notification.
    • You will then connect the event from the Car App that fires at regular intervals when the car is online, and you must put a value in the parameters to the flow card. This value is the amount of minutes ECC should wait before it can expect to receive the following notification. Let us say you put 30 as in 30 minutes, then 30 minutes after ECC gets the notification and no new "car is alive" message occurs, ECC will go into emergency mode.

      This is an example of connecting the myAudi updated event to the Car is online flow card. With a parameter of 30 minutes:

      Image Added

    • How to set a reasonable parameter? It MUST be a value of more minutes than you have set in the Car App to report in. In the above example, the myAudi App is set to a reporting interval of 15 minutes, so in theory, 16 minutes should be fine, but having some slack is recommended. Then, ECC will not switch to emergency mode too frequently. In the above example, 30 minutes could be a good value. But it would be best to experiment with this to find a value that does not trigger emergency mode unless required. 
    • You will get a notification if this happens, as this example shows:

      Image Added

    • You will also get a notification if the car reports in again, as shown in this example

      Image Added

  • Important to know about this mode:
    • If the car's offline mode is set manually, it will stay in that mode permanently until you exit the mode manually by pressing the Online/Offline button again.
    • So, the manual mode overrides any automatic mode. The "Car is online" button will show the car is offline, just as if you set offline manually, but ECC will save 'who' did it, so this is just to let you know the car is offline regardless of the source of that information.
    • You will also see a slightly different count of hours when the emergency mode is active. The count of hours is prefixed with Offline:

      Image Added


Manual mode

From v.1.3.28

The left picture showing Manual mode ON, the rigth picture shows Manual mode OFF

Image Added  Image Added


In this mode, you must manually set the current Soc and target Soc using the sliders. It is important to enter correct values if you want accurate charge durations.

Why use this mode ? It's purely designed for users of VAG cars, as the stability of manufactor API's are legendary bad. So when (not if...) the Homey App serving flows for setting SoC values are not up to date, as ECC sometimes is asking the Homey Car App for SoC values, it will get whatever the App has, and if that values has not been updatede for a long time, ECC cannot determine it's completely wrong. 

So to not forcing you to disconnect the flows, just set manual Mode On, and ensure that current SoC and target SoC is matching the real values of your car nad the ECC will caclulate correct charge duration for you.

Handle charging when the Car App is offline

From v1.2.0

Info

If you don't have a car app, you must manually update SoC values using sliders in the ECC appto inform ECC what you want to achieve, and in that case, this section is irrelevant to you.

ECC requires SoC data (current SoC and target SoC) from the Homey App for your car. But what if the Car or Car App is offline? ECC will not be able to obtain the recent SoC updates.


Price graph

From v1.5.0.

The price graph will show alle future prices with the real prise as value. So Norwegian Support is inkluded, it you have selcted that, ald also grid price is used. Thsi is very convenient feature to see the really effective price.


The graph will recalulate every hour.


This is a typical view early on a day, before 13:00 when no prices for tomorrow has been loaded. ECC will always show the cheapest period according to the calculated amount of  hours, and in green colours, becaus there is no car connected.


Image Added


This is a typical view when there is a active charging duration, and ECC has prices for both today and tomorrow. The coulor Orange is showing charge is active or planned.


Image Added


This is the most typical view. 

ECC has planned 4 hours of cheap charging tomorrow early morning.

Image Added

Current price this hour capability

This capability will show the current price for this hour. Probably most useful if you are utilising some kind of dashboard.

Image Added

Insigths are also supported


Image Added


Keep charger active after calculated chargeplan

It is a setting you may flip to Yes if desired. Default is No.

If Yes is selected, a normal charge schedule will be calculated, but the end time will be adjusted to the current selected end time.

Note ! It will only apply if calulated end time is before selected end time for te current day.

Examples

A charge plan of 03:00-06:00, with a end time select of 08:00, will be adjusted to 03:00- 08:00

A charge plan of 18:00-23:00, with a end time select of 08:00, will not be altered in any way. And end up as 18:00-23:00


Image Added

Homey Scripts


In addition, you need to create a Homey Script to transform the start and stop time hashtags into actual values. This is due to a missing feature in the Easee Charger App. This is Homey; you can fix it quickly yourself.

NOTE! You must find your device ID, see the script for it below. 

createEaseeChargerSchedule.js

Code Block
titlecreateEaseeChargerSchedule.js - For Homey 2019
try {

  console.log("createEaseeChargerSchedule args", args);

  const obj = JSON.parse(args);

  await Homey.flow.runFlowCardAction({
    uri: 'homey:device:your-device-id-here',
    id: 'createSchedule',  
    args: {
      'startTime': ''+obj.start,
      'endTime': ''+obj.stop,
      'repeat': true
    }
  });

} catch (err) {
  throw Error("Error occured with createEaseeChargerSchedule : " + err + " args: '" + args + "'");
}




Code Block
titlecreateEaseeChargerSchedule.js - For Homey 2023
try {
 
  console.log("createEaseeChargerSchedule args", args);

  const obj = JSON.parse(args[0]);

  await Homey.flow.runFlowCardAction({
    uri: 'homey:easee:home',
    id: 'homey:device:your-device-id-here:createSchedule',
    args: {
      'startTime': obj.start,
      'endTime': obj.stop,
      'repeat': true
    },
  });

} catch (err) {
  throw Error("Error occured with createEaseeChargerSchedule : " + err + " args: '" + args + "'");
}




find-easee-device-id.js


Create this script and execute it, and you will find the Easee device id

Code Block
titlefind-easee-device-id.js for any Homey version
const actionCards = await Homey.flow.getFlowCardActions();
for( const card of actionCards ) {
  if(card.id.indexOf('createSchedule')> -1) {
    log(card.titleFormatted || card.title)
    log(JSON.stringify({
      uri: card.uri,
      id: card.id,
      args: card.args,
      droptoken: card.droptoken,
      duration: card.duration,
    }, false, 2));

  }
}



Enable Push Notifications

Some notifications are important, so it's advised to add Push notifications to Easy Charge Controller. Otherwise it will only show up in timeline.

Set it here :

Image Added

Utilize Homey Easy Logger

This app has a companion in Homey Easy Logger that will help you obtain even more information about Homey events.

Case 1. Status logging.

I have set up a Flow card to push important events to my Google Spreadsheet by using Homey Easy Logger as shown in example below.


This evening I returned home and connected the car to my Easee Charger. The Charger starts charging immediately shown at 20:29:07. The Charge Controller receives this status update and is checking the Schedule. It discovers that this hour is not set for charging and will issue a stop charge command. That happened at 20:29:21, as Chargers stop and the status resumes to Paused. It also shows that my car is reporting its charge level, and Easy Charge Controller will update its state en recalculate the Charge Schedule.

In this flow, I'm utilizing the Easy Logger. Look into Easy Logger documentation on how to connect Google Spreadsheet. In the case below, I have created a Sheet tab with the name of Event Log and assigned the sheet-id to a variable of SHEET_ID_EVENT_LOG, and always insert the new entry at row 2, and that will push old entries down with the latest entry on top. See picture below. It also shows Timeline logging if desired.

Image Added


Example of the EventLog sheet-tab

Image Added


Topic about Power Balancing

In Norway, we have different price tiers for the amount of energy used for one hour, and the maximum average kWh is for three hours each month. So if you, for example, never want to use more than 10 kWh within one hour, you need something to control and constrain power usage to achieve this.

Easy Charge Controller is not designed for this. It is not its purpose.

But it will work fine with an electricity supplier such as Tibber. Tibber has a very well working power constraint feature, but you must buy electricity from them. I can only recommend this.

So how does this work?

In this example, the max is 10 kWh. I'm using Easee and have set up a 32A max load. If one phase is 7200 W, using three phases, you get 8200 W. Normally, this is not a problem, but in winter, even at night, other power consumers may run, such as water heating and some other room heaters. It may force the Tibber App to lower the power on the Easee charger. And it will do so. Easy Charge Controller only turns the Charge Robot on and off and does not alter the ampere of the Charger.

So how will you solve this?

Here is how I solved it:

Image Added

I'm setting the nominal charge speed to something lower because it's only an estimate for ECC to calculate which hours to charge for. By setting it a bit lower than the maximum, the calculation will add one hour, or maybe two, into the charge plan, just to be safe.

It is important that the car has completed charging before the set end time, and that you can verify the hours that are planned for charging.

Additionally, the ability to partially charge is effortless.  For example, if there are just a few cheap hours, select this number of hours in the dropdown, and the Controller will select exactly that number of hours to charge.

Practical Use Cases

Here is a collection of practical use cases; some are posted by users, and other users are welcome to add smart innovations to enhance this marvelous app.

Case: Override button

Contributed by Rune Carlsen

ECC is great. But from time to time, I have the need to override its settings, plans and schedules. This is often due to special needs, where planning has been hard to do or other special cases. 

Basically this function will cancel the schedules and start charging regardless of what has been planned or that the price is. 


Image Added

It automatically resets its status after completed charge or disconnected car. it is all controlled with a virtual device to start/stop (Charging Override); 

Image Added

Which again is a device based on this; 

Image Added


Within my Homey App on my iPhone, I can start/stop this by enabling/disabling the device "Charging Override" (in this case it is turned off, meaning, ECC is handling charging); 

Image Added


Case: Charge with only Car App

This case will show how you can charge if your car has an app, and maybe the charger is a collection of local in-house charger for your housing association.



Troubleshooting

The car starts charging immediately when connected

It is normal that the car charges for a brief period when connected before ECC is notified that a car has been connected and puts charging on pause. If this does not happen and the car keeps charging, please check the following:

  • ECC Homey app has accidentally been turned off: Image Added. This may happen if you press too quickly on the ECC device instead of properly long pressing to open propeties page. Please check that ECC is turned on: Image Added

  • You must connect the Car status to the ECC status action card. If you do not do this, ECC will not know when a car is connected.
This is a sample of one hour where a charge session is planned to happen. It's by intention that No is a dash and not No. It's is you easier differ the charge hours for the ones that does not.
Image Removed

When you change the Charge End Time or The Count of Charge Hours, a recalucation will occur.

You can create as many devices you want for have different targets to control. You can even control charger at home and at your cabin, if you have both chargers available in Homeyas Apps and they ar cloud ready, such as the Easee charge robot. 

Settings

Initial setting

Some inital setting, Battery Capacity. The net Battery Capacity. The effective charging speed you must estimate this value, as the charge calculator will use that to estimate a charge-plan.
The Charging strategy is decribed here

The value for Stop charging if target is passed is used if you want ECC to stop a active charging session if the current SoC is updated and is above set target SoC. It will require connection to the Charger App, so it's not garantueed. But is migth be useful if you want to have the car set to a higher target, of maybe even not possible to ajust without beeing present in the car. So this is just a possibility for the ones that migth see this useful.

Image Removed

Price settings

If you want to utilize tax, additional fee or power grid fee, just fill inn the values. You may also want to check/uncheck the option for compensation for the Norwegian prisesupport. If that is checked all prices will be justed by subtraction the amout of support each hour.

Put 0 (zero) inn all fields to act on raw prices only.

Note To achieve real cheapest price calulation algorithm demands to enter values for at least Power grid feeif it's different in day or night ( or weekend). And the Norwegian prisesupport should be checked

Image Removed

Charge status mapping

Default are values for Easee Home charger.

Image Removed

Easy Charge Controller is using some local status codes, initially set for Easee, but other charges need to map their statuses to match, here's how the logic inside is using them

Easy Charger Controller expected status valuesExplanationChargingThe car is chargingCompletedThe car is finished charing, but still connected to the chargerPausedCar is connected but is not charging, the charging sessin is stopped by Easee App or Easy Charge ControllerStandbyNo car connected, charger is up and readyCar connectedCar connected, charging session not started yet, probably the status will change to Charging is short time

How to connect the dottes

So above is hopefully a explanation how to set up the different values to have the Carge Controll selectin which hours to charge the next '24 hours'

When cards

Image Removed

Controller turned on / off

Optional card, use if you need somting to happen when the ECC is started of stopped

Controller was started

This is the advice for the Controller was started. It will gather the Charger status, and SoC values from your Car.

Image Removed

Create a charging schedule

 This will fire when ECC has created a new charge schedule. Will only work for Easee Charger and with Charge Strategy Local Scheduler

Yo must create a HomeyScript to have this working, because the Easee Home will not access flow tags. You will find a working script here

Image Removed

Delete current charging schedule

This will fire when ECC think you will not need the schedule any more. Currently this is when :  

  • Car is disconnected
  • A new charging plan is created
  • If important settings are changed that will alter the charge plan of if you selects an another Charge Strategy

Image Removed

Prices have been updated

This is very optional. But if you need to know, this is how you do it.

Image Removed

Charging status is requested

It's adviced to wire this. Sometimes ECC need to get the Charger status, and you can wire the Status tag from your Charger here. Note that it's not a flow tag, but a propety tag from the Charger. ( Easee Hjemme - Status) in this case.

Image Removed

Start charging session

You should connect to start charging session to the Turn On action flow card for your charger

Image Removed

Stop charging session

You also should connect the stop charging session to the Turn Off action flow card

 Image Removed

Someting bad happened

Well, it may happen, then you could log it.

Image Removed

Then cards

Image Removed

Update current 'State of Charge' (SoC)

Image Removed

Update target 'State of Charge' (SoC)

Image Removed

Update status with [charger-status]

Image Removed

Update current ampere [current-ampere]

Image Removed

Update current power [current-power]

Image Removed

Update current powermeter [power-meter] powermeter chargesession [power-meter-session]

Image Removed

Error Handling and Logging

The is a flow card for handling errors in the way that suits you.

This is an example of how to push error and details to a Google Spreadsheet with Homey Easy Logger

Image Removed

Example how to send logs to a Google Spreadsheet with Easy Logger and catching errors to also log them in the spreadsheet

Image Removed

Enable more details in diagnostics

If you check the checkbox shows below in device settings, more detail sin diagnostics will be enabled. Any restart is not needed.

Be aware that this will produce more logging, and the diagnostic report has a limited size, so the contents of the diagnostics will contain data for a much smaller time period.

So it's advicable to enable this ahead of sending a diagnositic. Often this migth be requested by the developer.

Image Removed

Features

Charger Strategy

If your charger has a built in scheduler available in the Homey App, this is the most reliable option for charging stragtegy. With that option enabled, every new charging schedule will be sent to the charger when you create it (via the cloud actually, but if that failes you will get a message and retry). Later, at night in most cases, when the charger is planned to charge, it will execute, even if it is offline. So this is the most realible solution, if your charger supports it.

If strategy is cloud commands, the Easy Charger will execute the start and stop commands in real time, and if the charger is offline, the charge session will fail. It's rare to happen, but it will happen when it's most unwanted. That is how Murphys Law is designed.

Image Removed

Car Offline Emergency charging

This is a special mode used if ECC get information about the car is not online anymore. If this happes, unless you are usingECC in all manual mode, ECC will switch to emergency mode where a fixed amount of hours are used. You must set this value to a amount that will ensure you a desired charge length. The default value is 5 hours, but the reasonably value must be decied by your demand. It's very dependendt of the speed of charge you may have. If you can charge with 11 kW you count of hours may be low, but if your charge speed if only 3.6 kW you may want a lot more hours. It's important to adjust this value, if you want an optimal emergcy charge plan.

To set the amount of emergency hours, select the dropdown named as Offline charging hours and pick a value that suits you 
Image Removed

So how will ECC know if your car is offline or online ?

There is 2 sources to that information

Manually switchThere is a new button where you may press to togge Online state.
This is how Car is online = true looks like:
Image Removed
This is how Car is online = false looks like:
Image Removed
Flowcard from your Car App
  • If there is a way to let your car notify ECC has a flow card to receive this notification.
  • You will then connect the event from Car App that shall be invoced when car is check and up, and you must put an value in the parameters to the flow card. This value is an amount of minutes to ECC should expect next notification. Lets say you put 30 as in 30 minutes, then after 30 minutes after ECC got the notification and now new car is alive notification occurs, ECC will go into emergecy mode.
    This is an example of connecting the myAudi updated event to the Car is online flow card. With a parameter of 30 minutes
    Image Removed
  • How to set a reasonable parameter ? It MUST be a value which is more minutes that you have set ut the Car App to report in. In the shown case the myAudi App is set to a reporting interval of 15 minutes, so teoretically 16 minutes should be fine, but to have some 'slack' to have ECC so be some forgiving, a value of 30 minutes could be a good value. But you need to experiment with this to find the value not enabling emergecy mode unless it's really so.
  • You will get a notification if this happens, as this example shows:
    Image Removed
    You will also get a notification if the car reports in again, as shown in this example
    Image Removed
    Other important thing to know about this mode
  • If car is offline mode is set manually, it will stay in that mode permanently util you exit the mode manually by pressing the Offline button again.
  • So the manual mode if overriding any automatic mode.
  • You will also se a sligthly different count of hours when emergency mode is active. The count of hours is prefixed with Offline:
    Image Removed

    All manual mode

    In this mode you must set current Soc and target Soc manually using the sliders. It's your responsibility to put in exact values, if you want some accuracy in the charge timings.

    Handle charging when Car App is offline

    From v1.2.0

    InfoIf you don't have any car app, you must update SoC values manually using sliders in ECC appto inform ECC what you want to achieve, and in that case, this section is of no relevance for you

    ECC is based of gathering SoC data (current SoC and target SoC) from you Homey App for your Car. But what is the Car or Car App is offline ? ECC will not be able to gather the recent SoC updates.

    Homey Scripts

    In addition you need to create a Homey Script to transeform the start and stop time hastags to real values. Thsi is duw to a missing feature in Easee Charger App. But hey, this is Homey, you can fix it yourselv in a easy way.
    NOTE! You must find your device id, see script for it below
    createEaseeChargerSchedule.js
    Code Block
    titlecreateEaseeChargerSchedule.js - For Homey 2019
    try {
    
      console.log("createEaseeChargerSchedule args", args);
    
      const obj = JSON.parse(args);
    
      await Homey.flow.runFlowCardAction({
        uri: 'homey:device:your-device-id-here',
        id: 'createSchedule',  
        args: {
          'startTime': ''+obj.start,
          'endTime': ''+obj.stop,
          'repeat': true
        }
      });
    
    } catch (err) {
      throw Error("Error occured with createEaseeChargerSchedule : " + err + " args: '" + args + "'");
    }
    
    
    
    Code Block
    titlecreateEaseeChargerSchedule.js - For Homey 2023
    try {
     
      console.log("createEaseeChargerSchedule args", args);
    
      const obj = JSON.parse(args[0]);
    
      await Homey.flow.runFlowCardAction({
        uri: 'homey:easee:home',
        id: 'homey:device:your-device-id-here:createSchedule',
        args: {
          'startTime': obj.start,
          'endTime': obj.stop,
          'repeat': true
        },
      });
    
    } catch (err) {
      throw Error("Error occured with createEaseeChargerSchedule : " + err + " args: '" + args + "'");
    }
    
    
    
    

    find-easee-device-id.js

    Create this script and execute it, and you will find the Easee device id
    Code Block
    titlefind-easee-device-id.js for any Homey version
    const actionCards = await Homey.flow.getFlowCardActions();
    for( const card of actionCards ) {
      if(card.id.indexOf('createSchedule')> -1) {
        log(card.titleFormatted || card.title)
        log(JSON.stringify({
          uri: card.uri,
          id: card.id,
          args: card.args,
          droptoken: card.droptoken,
          duration: card.duration,
        }, false, 2));
    
      }
    }
    
    

    Enable Push Notifications

    It may occur some notifications the could be important, so it's advicable to add Push notifications to Easy Charge Controlle. Otherwise it will only show up in timeline.

    Set it here :

    Image Removed

    Utilize Homey Easy Logger

    This app has a companion in Homey Easy Logger that will help you gain even more control over what's happening.

    Case 1. Status logging.

    I have set up a FlowCard to push imprtant happenings to my Google Spredsheet by utilizing Homey Easy Logger. As one example below.

    This is this evening I returned to home and connected the car to my Easee Charger. The Charger starts charging immediate shown at 20:29:07. The Charge Controller receives this status update, and is checking the Shcedule, and will discover that this hour is not due for charging, and will issue a stop charge command. That happened 20:29:21, as we see Chargers stop and status resumes to Paused. It also shows that my car is reporting it's charge level and Easy Charge Controller will update it's state en recalculate the Charge Schedule.

    In this flow I'm utilizing the Easy Logger. Look into Easy Logger documentation how to connect Google Spreadsheet. In the case below I have craeated a Sheet tab with the name of Event Log, and assignet the sheet-id to a variable of SHEET_ID_EVENT_LOG, and always insert the new entry at row 2, and that will push old entries down with the latest entry on top. See picture below. It shows also Time line logging if desired

    Image Removed

    Example of the EventLog sheet-tab

    Image Removed

    Topic about Power Balancing

    In Norway there is different prices for different amount of energy used for one hour. So if you as an example want to never use more than 10 kWh within one you need someting to control and constraing power usage to achieve this.

    Easy Charge Controller is not designed for this. It's not it's purpose.

    But it will work fine with a power controller such as Tibber. Actually Tibber has a very well working power constrain feature, but you need to buy electricity from them. Do do, and I can only recommend this.

    So how does this work

    In this example the max is 10 kWh. I'm using Easee and have set up 32A max load. If one-phase it gives 7200 W, using three phase you get 8200W. Normally this is not a problem, but in winter, even at nigth, other power consumers may hit, such as water heating, and some other room heaters. It will possible force the Tibber App to lower the power on the Easee charger. An it will do so. Easy Charge Controller is only turning the Charge Robot on and off, and does not alter the ampere of the Charger.

    So how will you solve this ?
    Here is how I solve it:
    Image Removed

    I'm setting the nominal charge speed to somthing lower, because it's only a advice to the calculation of which hours to start charging. By setting it a bit lower than the maximum, the calucation will add one hour or maybe two, into the charge plan, just to be safe.

    The whole idea is to be safe and shure that you car WILL be finished charged, and you can verify the sanity of the calculation before it's really happening.

    And also the ability to part charging is now so very easy. If you just want to charge a bit, you select a couple of yours to match your desire and the Controller will select the cheapest hours to charge that amount on.

    Practical Use Cases

    Here's a collection of practical usecases, some are posted by users, and other users are welcome to add smart innovations to even enhance this marvelous app.

    Case: Override button

    Contributed by Rune Carlsen

    Case: Charge with only Car App

    This case will show how you can charge if you car has an app and maybe the carger is a collection of locals inhouse charger for your housing association

    Nylig områdeaktivitet

    Recently Updated
    typespage, comment, blogpost
    max5
    hideHeadingtrue
    themesocial