Easee binding

Just want to add I have experienced charging not started after 5 attempts twice this week.
I’d very much like to get down to this problem, would there be any way to see if the binding sends the command to EaseeHome cloud and what is the response code? Many thanks

I assume with this solution when the car is plugin, it will charge for some time and you have to manually pause the charge, right?

If you set loglevel to debug you should get quite a lot of output that helps to understand what happens behind the scenes.

If I plugin the car I first need to authenticate with the token otherwise it will not start charging. If I do so then it will always start charging first until the process gets paused. During summer I have some rules that pause/unpause automatically and also set currents according to available power.

Hi all

I have a problem with my charging solution, it works perfect for the most but maybe once in a couple of months it get stuck in chargerop mode = 6 ready to charge, even though Easee app says it has 6Amps allowed it doesn’t charge.

Otherwise it usually says awaiting start if my load / spot price optimize allow 0amps of charging current.

Is there anyone that knows wy the charger gets into ready to charge state

Here my rules for starting and stopping chargin and also the whole docking rule. In basic I my charger will allways allow 6amp as long as theres is more than 6amps available on main fuse. And when i connect a car and openHAB senses that the loadbalancing or spot price optimize will take over. In that way I will be sure that if the charger becomes offline the car will get charged unless it doesn’t gets offline during charging offcourse. I ve been running this set up for almost 3 years but sometimes it clicks and I cant figure out why.
‘’’
rule “EaseeBox Charging start/stop”

when

//Rule for shut off charger when wpot price control changes carCargerAllowed and evTarget not eq now

Item CarChargerAllowed changed or Item EaseeBox_chargerOpMode changed //or Item EaseeBox_latestPulse received update

then

//CarChargerAllowed.sendCommand(OFF)
logInfo(“Easee”, “Cron based rule started”)
logInfo(“test”, “Tidpunkt” +Evconnected.state)
if(CarChargerAllowed.state == OFF && evTarget.state.toString != “Now”){
logInfo(“Easee”, “Ready to charge or completed step 0”)
// Charging but not planned charging setting output to zero
if (EaseeBox_chargerOpMode.state as Number == 3){
logInfo(“Easee”, “Ready to charge or completed step 1”)
if (EaseeBox_output_current.state as Number !=0){
logInfo(“Easee”, “Ready to charge or completed step 2”)
Easee_DynamicCircuitCurrentsPhase123.sendCommand(“0;0;0”)
newDynamicCurrent.postUpdate(0)
logInfo(“Easee”, “Ready to charge or completed step 3”)
logInfo(“Easee”, “Laddstatus 283 ==2 0A”)
}
}
}
else
logInfo(“EASEE.RULES”, “Cronregel avslutad utan åtgärd”)
logInfo(“EASEE.RULES”,"Powergrid status mode: "+available_current_mode.state.toString)
logInfo(“EASEE.RULES”,"Ev target mode: "+evTarget.state.toString)
end

rule “Easee op mode docking”

when
Item EaseeBox_chargerOpMode changed
then
if(EaseeBox_chargerOpMode.state == 2){
//CarChargerAllowed.sendCommand(OFF)
getEVdata.sendCommand(ON)
Evconnected.postUpdate(now.withMinute(0).withSecond(0).withNano(0).toLocalDateTime.toString)
//Evconnected.postUpdate(new DateTimeType)
//EvCarReady.postUpdate(now.plusDays(1).withHour(6).withMinute(0).withSecond(0).withNano(0).toLocalDateTime.toString)
//EvCarReady.postUpdate(new DateTimeType(now.with(LocalTime.MIDNIGHT).plusHours(30)))
Ev_docking_finished.sendCommand(ON)}
if(EaseeBox_chargerOpMode.state==3){
//ev_box_cycle_mode =“Started”
getEVdata.sendCommand(ON)
started_timestamp = now
logInfo(“Easse_charging.rules”, “Easee op mode changed to 3”)
}

//disconected or ready to charge
if(EaseeBox_chargerOpMode.state !=2 || EaseeBox_chargerOpMode.state !=3){
logInfo(“Easee”, “Laddstatus row 57 operating mode <=2 or >=4”)
if(netto_available_current.state >= 6){
logInfo(“Easee”, “Laddstatus row 59 availible current >6A”)
if(Easee_DynamicCircuitCurrentsPhase123.state !=“6;6;6”){
Easee_DynamicCircuitCurrentsPhase123.sendCommand(“6;6;6”)
logInfo(“Easee”, “Laddstatus row 62 6A”)
}
}
if(netto_available_current.state < 6){
if(Easee_DynamicCircuitCurrentsPhase123.state !=“0;0;0”){
Easee_DynamicCircuitCurrentsPhase123.sendCommand(“0;0;0”)
logInfo(“Easee”, “Laddstatus row 95 0A”)
}
}
}
end
‘’’

Usually the “Ready to Charge” state means that from charger side everything is set but car does not accept/start the charging.
The “Reason for no current” channel has a lot of additional values which give more insight on what is blocking. You could add it check the value.

Hi

I had 79 as reason for no current, is theese values known?

The full list can be found here:

79 means “Current limited by car not charging.” This could be either the current is too low so the car does not start charging or you have a charging schedule activated in your car or the battery is already charged to the limit which was set.

Then it may have been an effect of the onboard charger beeing upset of some reason.

I don’t own an Easee nor have I ever seen any.
Is my interpretation correct that you need some sort of Easee cloud service to talk API to to be available for charging to work ?
Will the box, will this binding continue to work should that service or company go out of service ?

The binding relies on the Cloud API. This will only work as long as the company maintains the service.
The charger (the box) itself will also work without the cloud service. There is an App which is also able to connect via bluetooth to the box. However that API is not public and therefore it is hard to be implemented and it would also require some bluetooth dongle.
In addition the box can open a WIFI access point and that way some basic configuration can be done which could help to turn the box into a dumb, non-smart charger that justs starts charging with or without authentication.

A friend of mine asked me about this box and I recommended against because right that was my suspicion. Thanks for confirming and letting me know.

Hi,
Easee Equalizer, is that one included in the binding?

Good morning,
I am finally upgrading vom openhab v1 to current release and installing the Easee binding. Thanks for a great binding and all the work you put in.

Currently I have two issues:
1: I did not find a way to see the currently used power.
The Channel “easee:charger:a56f1a1268:feb3e411bf:state#totalPower” does not deliver any values.

also in the log file I see no values in the two JSONs which would reflect the current power:

JSON String: {"isEnabled":true,"lockCablePermanently":false,"authorizationRequired":false,"remoteStartRequired":null,"smartButtonEnabled":false,"wiFiSSID":"MeinNetzwerk","detectedPowerGridType":1,"offlineChargingMode":null,"circuitMaxCurrentP1":32.0,"circuitMaxCurrentP2":32.0,"circuitMaxCurrentP3":32.0,"enableIdleCurrent":true,"limitToSinglePhaseCharging":null,"phaseMode":1,"localNodeType":1,"localAuthorizationRequired":false,"localRadioChannel":2,"localShortAddress":0,"localParentAddrOrNumOfNodes":1,"localPreAuthorizeEnabled":false,"localAuthorizeOfflineEnabled":true,"allowOfflineTxForUnknownId":true,"maxChargerCurrent":16.0,"ledStripBrightness":25,"chargingSchedule":""}
JSON String: {"chargerId":"xxxxxxxxx","sessionEnergy":0.233364,"sessionStart":"2024-05-10T13:38:11Z","sessionEnd":"2024-05-10T13:42:46Z","sessionId":721,"chargeDurationInSeconds":235,"firstEnergyTransferPeriodStart":"2024-05-10T13:38:36Z","lastEnergyTransferPeriodEnd":"2024-05-10T13:42:31Z","pricePrKwhIncludingVat":0.36,"pricePerKwhExcludingVat":0.3025,"vatPercentage":19,"currencyId":"EUR","costIncludingVat":0.08,"costExcludingVat":0.07}

The values displayed in the JSON segments are displayed properly in the corresponding items. So in general the binding works, but not for all values.

Am I doing something wrong or has something changed?

2. Error message when calling API
in the log I see the following error message:

java.lang.IllegalArgumentException: Illegal character in path at index 41: https://api.easee.com/api/sites/xxmysite-idxx /state
        at java.net.URI.create(URI.java:906) ~[?:?]

(I overwrote my site-id with a dummy value).
Cannot figure it out on my own. Any advise?

Thanks a lot for your support

For me this works fine.

This API endpoint should be used by the latest binding version to get totalPower for all circuits and chargers: Dashboard Circuit States

This might be the reason why you so not see the total power. This is the call that should return data that is used to populate totalPower. I guess your siteId is wrong. Maybe some invisible character inside or a whitespace.

Thanks Alex. this was the missing piece. And of course it was another layer 8 issue: now I know the different between a site ID and a site Key by heart! :slight_smile:

It works now like a charm.