cathiele / homeassistant-goecharger

Home Assistant custom_component for controlling the go-eCharger EV-Charger
MIT License
89 stars 29 forks source link

Changing the Max Current Value is not possible anymore #84

Open MB1983k opened 1 year ago

MB1983k commented 1 year ago

Hello,

After an update of the go-e charger to the firmware version 042.0 (Hardware V2) it is not possible to change the maximum current rating anymore in Home Assistant. All other functions to work without any issue...

Does anyone else has the same issue?

maccowley commented 1 year ago

I have the same problem after I updated the firmware of the charger to 042 and Home Assistant to 2023.7.1. So I am not sure what the reason is.

MB1983k commented 1 year ago

It is caused by the firmware from the Go-E Charger. Send their support a message and ask for a downgrade… then it is working again. Include a picture of the backside of the go-e or the reset card.

maccowley commented 1 year ago

The new firmware fixed some stability problems. With 041 the box often had connection dropouts. These are now gone. So I won't go back. I will write to the support about this issue. If it is a problem with the API, they could fix it.

Sweti934 commented 1 year ago

Hei. - what firmware are you on? The only ones I see are e.g. 055-5 (which I am at).

Had no issues, but since today (I think I updated to 2023.7.3) there is the issue I belive? Somebody else experiencing the same? Thanks!

maccowley commented 1 year ago

The firmware version of the go-eCharger was 0.42, which causes the problems. After downgrading to 041 everything works fine like before. This has nothing to do with Home Assistant.

maccowley commented 1 year ago

I think this issue can be closed now.

WolfgangSchmid commented 1 year ago

same issue here with go-eCharger (V2) after updating to firmware 042.0. Got the info from their support-team that this is a known problem and that there is no workaround available other than downgrading back to 041.0. That worked for me.

chises commented 11 months ago

Same issue, go-e Charger HW Verison V2. Wrote a E-Mail to support and asked for firmware 041.

Fiiti commented 10 months ago

Gentlemen, I'm curious about the current status of this case. I switched from ioBroker to Home Assistant two months ago, and I've found that it doesn't work with Firmware 42 on Hardware V2. However, it still works with ioBroker. This suggests that Firmware 42 hasn't disabled these settings or is not the issue.

Additionally, if Firmware 42 were the problem, then the mobile app would likely also be non-functional. Has anyone received any information from customer support regarding this? My suspicion is that the API may have changed.

Regards.

Fiiti commented 10 months ago

I have researched quite a bit, although I don't understand much of what is happening here.

It seems like the GET REST API call happens in the Python library https://github.com/cathiele/goecharger/blob/main/goecharger/goecharger.py.

I have now looked at the call, which should look like this: http://192.168.1.123/mqtt?payload=amp=21

Now I just entered this in the browser, it's a GET after all. What can I say: It works: grafik

It remains to be noted that when setting the amp, amx is automatically set as well, which is why, from my point of view, only amp can be set all the more.

What does NOT work, however, is setting it via "amx". So I think this is the crux.

This is the code: def setTmpMaxCurrent(self, current): if current < 6: current = 6 if current > 32: current = 32 return self.__setParameter('amx', str(current))

The difference between amp and amx is described here: https://github.com/goecharger/go-eCharger-API-v1/blob/master/go-eCharger%20API%20v1%20DE.md

So if we set the value via tablet or similar, amp should not pose any problem. Otherwise, the network argues intensively about these two values. The manufacturer advises using amx for PV system control.

I have no idea how this works with Home Assistant and the modules, so I wish the owner would release a new version so that I can simply update it in Home Assistant.

I still understand too little about the subject, as I am quite new to Home Assistant. Maybe I can also set the other value somewhere else and just need to use a different service? I am grateful for any tips.

chises commented 10 months ago

Based on your information @Fiiti I checked the functions and I agree. Change https://pypi.org/project/goecharger/ from self.__setParameter('amx', str(current)) to self.__setParameter('amp', str(current)) could fix it. I am going to perform that changed manually on my system an come back with the result.

@cathiele any ideas on this?

chises commented 10 months ago

Update: this fixed it: return self.__setParameter('amp', str(current))

There is a other function:

def setMaxCurrent(self, current):
        if current < 6:
            current = 6
        if current > 32:
            current = 32
        return self.__setParameter('amp', str(current))

I try to modify the integration to use setMaxCurrent instead of setTmpMaxCurrent

tomppah commented 10 months ago

https://github.com/goecharger/go-eCharger-API-v1/blob/master/go-eCharger%20API%20v1%20EN.md

amp - Ampere value for the PWM signaling in whole ampere of 6-32A amx - Ampere value for the PWM signaling in whole ampere of 6-32A Will not be written on flash but acts like you set amp instead. Only on the next reboot, the amp value will be restored to the last value set with amp. Recommended for PV charging

-- If I recall right it's not recommended to use value amp because that will be written on flash and could eventually cause problems with too many flash writes.

Pajaa76 commented 9 months ago

I'm new in HA (basically 2 days) and for those who have 042.0 API V1 version - here is what I did as workaround.

1) I created in configuration.yaml the commands to push requested amps:

rest_command:
  7a:
    url: "http://XXX.XXX.X.X/mqtt?payload=amp=7"
  8a:
    url: "http://XXX.XXX.X.X/mqtt?payload=amp=8"
  9a:
    url: "http://XXX.XXX.X.X/mqtt?payload=amp=9"
  10a:
    url: "http://XXX.XXX.X.X/mqtt?payload=amp=10"
  12a:
    url: "http://XXX.XXX.X.X/mqtt?payload=amp=12"
  16a:
    url: "http://XXX.XXX.X.X/mqtt?payload=amp=16"

2) Then I created horizontally stacked buttons card, they are calling the res_command. I also added change confirmation:

type: horizontal-stack
cards:
  - type: custom:mushroom-template-card
    primary: 7A
    secondary: ''
    icon: mdi:lightning-bolt-circle
    tap_action:
      action: call-service
      confirmation:
        text: Set charging current to 7A?
      service: rest_command.7a
      target: {}
    hold_action:
      action: none
    double_tap_action:
      action: none
    layout: vertical
    icon_color: blue

Works well:

image