[myenergi] Binding for myenergi Ltd devices (Zappi, Eddi, Harvi)

Thanks, I got it to work with my Zappi and Harvi, GREAT WORK!
But after some time, or maybe restart of OpenHAB I retrieve old values back from August

Looking in log an see that API calls url https://s1.myenergi.net/, and when I got correct values API call was toward https://s18.myenergi.net /

Seems like randomly select s1 or s18 after openhab restart? Have you seen this issue.

Similar issue is discussed here:
API returning old data - myenergi

with the openHAB 3.2.0.M5 it works.

still struggling with login:

2021-12-10 20:51:48.287 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'myenergi.things'
2021-12-10 20:51:48.484 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'jdbc.persist'
2021-12-10 20:51:50.684 [INFO ] [.myenergi.internal.MyEnergiApiClient] - sending API request attempt# 1: https://se.myenergi.net/cgi-jstatus-*
2021-12-10 20:51:50.904 [INFO ] [.myenergi.internal.MyEnergiApiClient] - Re-initializing Api connection after exception caught
java.util.concurrent.ExecutionException: java.net.UnknownHostException: se.myenergi.net: Name or service not known
	at org.eclipse.jetty.client.util.FutureResponseListener.getResult(FutureResponseListener.java:118) ~[bundleFile:9.4.43.v20210629]
	at org.eclipse.jetty.client.util.FutureResponseListener.get(FutureResponseListener.java:101) ~[bundleFile:9.4.43.v20210629]
	at org.eclipse.jetty.client.HttpRequest.send(HttpRequest.java:730) ~[bundleFile:9.4.43.v20210629]
	at org.openhab.binding.myenergi.internal.MyEnergiApiClient.executeApiCallHttpClient(MyEnergiApiClient.java:367) [bundleFile:?]
	at org.openhab.binding.myenergi.internal.MyEnergiApiClient.executeApiCall(MyEnergiApiClient.java:338) [bundleFile:?]
	at org.openhab.binding.myenergi.internal.MyEnergiApiClient.getDeviceSummaryList(MyEnergiApiClient.java:208) [bundleFile:?]
	at org.openhab.binding.myenergi.internal.MyEnergiApiClient.updateTopologyCache(MyEnergiApiClient.java:157) [bundleFile:?]
	at org.openhab.binding.myenergi.internal.handler.MyEnergiBridgeHandler.initialize(MyEnergiBridgeHandler.java:86) [bundleFile:?]
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]
	at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
	at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]
	at org.openhab.core.internal.common.AbstractInvocationHandler.invokeDirect(AbstractInvocationHandler.java:154) [bundleFile:?]
	at org.openhab.core.internal.common.Invocation.call(Invocation.java:52) [bundleFile:?]
	at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
	at java.lang.Thread.run(Thread.java:829) [?:?]
Caused by: java.net.UnknownHostException: se.myenergi.net: Name or service not known
	at java.net.Inet4AddressImpl.lookupAllHostAddr(Native Method) ~[?:?]
	at java.net.InetAddress$PlatformNameService.lookupAllHostAddr(InetAddress.java:929) ~[?:?]
	at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1519) ~[?:?]
	at java.net.InetAddress$NameServiceAddresses.get(InetAddress.java:848) ~[?:?]
	at java.net.InetAddress.getAllByName0(InetAddress.java:1509) ~[?:?]
	at java.net.InetAddress.getAllByName(InetAddress.java:1368) ~[?:?]
	at java.net.InetAddress.getAllByName(InetAddress.java:1302) ~[?:?]
	at org.eclipse.jetty.util.SocketAddressResolver$Async.lambda$resolve$1(SocketAddressResolver.java:170) ~[?:?]
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:883) ~[?:?]
	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1034) ~[?:?]
	... 1 more
2021-12-10 20:51:53.945 [INFO ] [.myenergi.internal.MyEnergiApiClient] - Re-initializing Api connection after code: 0, reason: 
2021-12-10 20:51:55.620 [WARN ] [core.thing.internal.ThingManagerImpl] - Initializing handler for thing 'myenergi:bridge:api' takes more than 5000ms.
2021-12-10 20:51:57.014 [INFO ] [.myenergi.internal.MyEnergiApiClient] - Re-initializing Api connection after code: 0, reason: 

ok for documentation reasons: GitHub - twonk/MyEnergi-App-Api: Investigation of the MyEnergi App describes the solution for the login issue and how to handle. o)

hi,

does any body know, why I’m getting allways the first entry for power clamp back and not the latest one?

2021-12-21 07:55:10.177 [INFO ] [.myenergi.internal.MyEnergiApiClient] - sending API request attempt# 1: https://s6.myenergi.net/cgi-jstatus-H12345678

2021-12-21 07:55:10.234 [INFO ] [.myenergi.internal.MyEnergiApiClient] - Api response: {"harvi":[{"sno":12345678,"dat":"17-11-2021","tim":"14:24:13","ectp1":360,"ectp2":7,"ectp3":47,"ectt1":"Grid","ectt2":"Grid","ectt3":"Grid","ect1p":1,"ect2p":2,"ect3p":3,"fwv":""}

]}

Thanks

Rgds
Andre

Hi, I just got my Zappi and HUB installed and I was keen on getting this integrated into Openhab 3.2.
Unfortunately, I am not able to log in. I am certain my username (HUB serial number, only digits) and password are correct but I am immediately getting

22:37:31.629 [INFO ] [hab.event.ThingStatusInfoChangedEvent] - Thing 'myenergi:bridge:1c8899c841' changed from OFFLINE (CONFIGURATION_ERROR): Authentication Error (Invalid API key or account number) to UNKNOWN
22:37:31.651 [INFO ] [g.myenergi.internal.MyEnergiApiClient] - sending API request attempt# 1: https://s2.myenergi.net/cgi-jstatus-*
22:37:32.061 [INFO ] [hab.event.ThingStatusInfoChangedEvent] - Thing 'myenergi:bridge:1c8899c841' changed from UNKNOWN to OFFLINE (CONFIGURATION_ERROR): Authentication Error (Invalid API key or account number)

Any idea how to fix this?

Hi,

had the same issue.

Solution: It’s not the https://myaccount.myenergi.com password (yet, because the piece to integrate that system isn’t done yet). It’s the password you used when you installed the phone app, based on the auth-code from your Zappi and you hub serial number.

and see also

Hi Rene,

thank you for providing the myenergi binding! Are you still planning on implementation of changing of the charging mode via the binding?

Thanks again and kind regards,
Franz

Thanks for the reply. I asked myenergi to reset the hub so now I am certain about the App password. Unfortunately, this did not help:

Thing 'myenergi:bridge:6e39860cbf' changed from UNKNOWN to OFFLINE (CONFIGURATION_ERROR): Authentication Error (Invalid API key or account number)

Hi @scherer,

having some trouble:

the power data for harvi are fine and at the same time (and car is charging) the api data from the zappi are all zero and status is “waiting for export”.

So, connectivity and access are fine. What else could be wrong? Where to investigate?

Thanks in advance!

Rgds
André

Is there a means to force a Zappi to charge with a specific current/amount of power via API?
I know it’s supposed to determine excess power itself so probably is not prepared to be controlled by some external entity

It’s a while since it was stated that this binding allows for read-only channels only.
Is that still true ?
If the generatedPower or any of the clamp measuring channel values were settable, could these be used to trick a Zappi into believing that we have excess power on the order of X watts which it would then charge the car with ?

Hi ifank,

There is a new authentication using directory.myenergi
mer details are at https://github.com/twonk/MyEnergi-App-Api
I will try to implement this in the openhab myeergi binding in the near future. Once it’s available. I’ll let you know.

Volkmar

I created a pull request to the original author (Rene Scherer). It contains the fix

Apologies to everyone who commented on here and didn’t hear anything back. Unfortunately I didn’t have time over the last couple of months to look into it.

I’ve just merged a couple of changes from @Volkmar to enhance the login process. Over the next couple of weeks, I’d like to get the code in shape, so that I can submit a PR to the main openHAB repo, so that it gets included as an official binding.

I’ve started on this. The code in the API class is there, but I’ll need to test it further and wrap it with a proper ActionHandler.

2 Likes

Rene, thank you for your efforts. In summer, I am planning to buy a Zappi and integrate it into OpenHAB. Then, I will be able to test. Thanks!

1 Like

im getting the same error as well, is used the hub serial number and the myeddi registration number but the authentication still seems to fall over. Any ideas on why?

2022-03-11 13:47:51.812 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing 'myenergi:bridge:6086995056' changed from OFFLINE (CONFIGURATION_ERROR): Authentication Error (Invalid API key or account number) to UNKNOWN

FYI am happy to test this binding once I moved to OH3 :grinning:

Hi Rene,

Any update on this? Would like to test/use your binding :slight_smile:

Tx,
Nico.

Hi there,

any updates/news on that? Still working with a snapshot and after getting some updates on OH (version 3) I found the following in my log:

2022-09-26 10:55:36.392 [WARN ] [org.apache.felix.fileinstall ] - Error while starting bundle: file:/openhab/addons/org.openhab.binding.myenergi-3.2.0-SNAPSHOT.jar
org.osgi.framework.BundleException: Could not resolve module: org.openhab.binding.myenergi [29]
Unresolved requirement: Import-Package: org.openhab.core.automation.annotation; resolution:=“optional”
Unresolved requirement: Import-Package: org.openhab.core.cache

Any ideas on that (or in general newer version which I just should use bevore further investigation)?

Thanks in advance.

Rgds
Andre

Hi Andre

I’ve finally had some time to publish the latest version for openHAB 3.3 in the Marketplace: [myenergi] MyEnergi Binding

There is a still a bit of documentation and code cleanup to be done before I can place a proper PR to include it in the official distro. In the meantime, I’ll keep the version on Marketplace up-to-date.

Cheers,
Rene

2 Likes