[APP][Pro] Go-e Charger electric car charger

Hi Picsou621,

I think it is important to point out that it is not so much the new hardware that requires a new app, it is the end of support for SKD-2 apps. (or the need to upgrade to SDK-3 at some point)

I would really like to do the work, but there is so much involved. I’m not a total expert on this so that also makes it hard to make promises. I really need the beginners guide to homey-app-building and I haven’t found that yet.

Things to look into with the new app apart from SDK-3:

  1. Discovery has to be improved. But I haven’t found the right discovery strategy for the Go-e charger
  2. New hardware (V3) with new software for the Go-e Charger (there is a new hardware version for the Go-e charger (with new options in the software like switch between 3 and 1 phases), and there is a new Go-e charger (Gemini)) - I don’t own either of these so it is impossible for me tot test.
  3. HTTPS support, right now ‘my’ homey app only supports http. I should also support HTTPS and perhaps some form of password protection so your go-e charger doesn’t have to be on your wifi network unprotected. Another way to go about this is to hook onto the cloud of Go-e. But that has it’s own disadvantages like a limit on status updates and the requirement of an internet connection to be available (so less reliable)
  4. Issues to be resolved, some small (like the calculation issue) some big (like the multiple device issue)

And athom was charging money for developers to make the apps available on the previous new homey (the cloud version). I’m still not sure if that goes for the new Pro too. That would be a deal-breaker at this time for me…

As regards to the new Pro, I haven’t ordered mine, as for my home I don’t really need the hardware at this time. And the price quite steep.

Finally, my wife says I need a hobby outside of the house, so I’m also not sure how that whole situation will play out.

So the conclusion is: I will probably find a way to keep the app working even under SDK-3, but i’m not sure when and unfortunately I cannot make any promises :slight_smile:

Best regards!

2 Likes

Hopefully you get time to update the app, but if not there is always possible to use RESTfull api or MQTT with Go-e.

And if some other developer is willing to help or take over the app that could be option too…

I’m always willing to help testing. Though I have only v1 equipment to make testing, but at some point will most likely buy another go-e.

Thanks Tim for the app so far. :+1:

1 Like

@Tim_Willemsen Dear Tim, thank you very much for your answer. Although I would like with all my heart that the app for the Go-e Charger is supported by the new Homey Pro (Early 2023) - respectively that it is converted to be compatible with the SDK V3 - unfortunately I can’t do anything to help you (except to offer you a contribution to the costs you might have?!). I also understand your wife’s remark, because I have a wife who makes the same kind of remark to me as to you :wink:

However, and if it may be of any help to you: at the very recent “The new Homey Pro - Ask Me Anything”, it was stated that: “Converting from SDK V2 to SDK V3 is insanely easy, it’s easily just changing a few pieces of code” (approximately at the minute 16:00). Furthermore and at 42:35, they talk about a developer documentation guide and again indicate that a migration is really very simple to do.

In any case, thank you very much for your work.

Hi,

I’ve been thinking I could do a rewrite using go-e v2 api to support the new features.
Meanwhile I could try to do the conversion to SDK3.

@Tim_Willemsen, would you mind if I did that? Would you be willing to transfer the app to me?

2 Likes

Hi Tapio, although right now I’ve started anew with setting up the app for SDK3, I would definitively consider doing a transfer. Do you have any other apps on the app store?

Using v2 API would mean my own Go-e charger would no longer work, though as it only supports v1:

Could you support both v1 and v2 api?

Best regards,

Tim

1 Like

I would first do v1, since it is common for all devices. Idea was that the app could first try v2 and fallback to v1 if v2 does not give any response.

This way, one device in the driver could be enough and make it simple.

One thing I would be interested in, that does a V1 device advertise itself with mdns, like V2 does.

I.e. if you run “avahi-browse -r _http._tcp” on an linux machine fo yo get

=   eth0 IPv4 123456                                        Web Site             local
   hostname = [go-echarger_123456.local]
   address = [192.168.4.16]
   port = [80]
   txt = ["serial=123456" "friendly_name=123456" "manufacturer=go-e" "devicetype=go-eCharger_V4" "version=054.7" "protocol=2"]

Mainly interested on the protocol value, if that already tells the api version.
Idea is that Homey could do a discovery for the devices in the lan. This would allow to use dynamic addressing on the go-eCharger.

Don’t have any other apps yet on the store. Or we could split for now, and I will concentrate on the V2 and you keep V1.

2 Likes

I would first do v1, since it is common for all devices. Idea was that the app could first try v2 and fallback to v1 if v2 does not give any response.

That’s a great idea. If you’re able to demonstrate a working SDK3 test version of the app I will happily transfer the app to you. And would also be available for testing and support. Let’s see where we get.

I.e. if you run “avahi-browse -r _http._tcp” on an linux machine

I will try this soon. Right now I don’t have a Linux machine hanging around so i’d have to setup one. There’s no Windows alternative, right?

In my dev version of the app, I have succesfully setup mac address discovery. That could be an alternative maybe? Especially if it is possible to check v1 and v2 API availability afterwards?

Bonjour Browser is available for Windows

And ipad/iphone there is “Discovery” app

I was also thinking for MAC address, however those may change over time. If V1 go-e Chargers support mDNS, I think that would be the way to go. I have a working discovery for the Gemini series now.

I have most of the things from V1 api ported now to SDK3. And restructured so that V2 api can be added. Still need to go through the flow cards.

2 Likes

Polling the device with V1 seems to be fine now:
Screenshot 2022-12-08 at 16.31.56
Tim’s app on the left, new app on the right.

Need to go through the flow cards, after the refactoring to SDK3, the app should have all that @Tim_Willemsen has implemented in the original.

Most of the flow cards have their definitions done with homey compose, now need to tie them to flow triggers, conditions and actions.

Dev branch is now in GitHub - oh2th/com.go-e.charger: Homey app for the go-e Home and Gemini family of EV chargers

3 Likes

I’ve tried many types of ‘bonjour’ browsers, for instance for my Android phone.
I can discover many devices but not the Go-E charger Home+.
So I’m afraid this won’t work for the V1…

Nice I will try to get it from GIT to test it this weekend

That is a shame. Then we would need to allow manual IP configuration or maybe use MAC discovery.
So a question for current Homeplus owners, what is your devices manufacturer part of the MAC address? I.e. The first three values AA:BB:CC:00:00:00?

Would your’s fit in the range of 98:FC:84:10:00:00 - 98:FC:84:1F:FF:FF as I found in one MAC database?

Current dev version in git doesn’t have manual config for IP address, was assuming that Home+ would alao advertise itself.
Let’s try to add MAC address discovery first.

Noticed that flow cards are on app level, instead of driver/device level, this prevents multiple chargers from working properly. Moved the flow cards in the new code to be driver specific, to allow multiple instances of a driver.

You’re correct, that was one of the issues to be fixed. Good work :+1::wink:

1 Like

Gemini devices are Espessif based and MAC addresses are generic. So discovery for them need to be mDNS. Home+ devices probably could be MAC discovery.

Hi

Edited!

My go-e charger is device version shows v2, but I think the api version is v1 and the mac address starts 2C:F4:32…

Can I check the api version somehow?

V2 device is Home+ with API-V1, your device has blue accents, where as V3 and V4 devices are Gemini with API-V2.

To be sure, check your mobile app from Internet / Advanced settings, you should see, if API V2 is available to be enabled. Allow local HTTP API v2

2 Likes

Hmm, that also is Espressif vendor MAC addressing, basicly means that it could be just about anything.

I think the Home+ devices will need manual IP configuration to be sure of being a supported device.

1 Like