home-assistant / core

:house_with_garden: Open source home automation that puts local control and privacy first.
https://www.home-assistant.io
Apache License 2.0
71.16k stars 29.84k forks source link

Enel X migrating from JuiceNet to JuicePass #86588

Open W0GER opened 1 year ago

W0GER commented 1 year ago

The problem

Enel X is migrating from JuiceNet to JuicePass.

Received email stating:

To provide you with the best user experience and new functionalities, we are transitioning to a new and improved platform for charging management. Your charging station will be migrated to the new JuicePass app (Enel X Way app). The EV JuiceNet app along with web browser access to your charger via home.juice.net will no longer be supported after February 20, 2023. Configurability and control of your chargers must be done via the new JuicePass app (Enel X Way app) which can be downloaded on iOS or Android.

since migrating my account, the JuiceNet app shows “disconnected” while their new app JuicePass shows the current data.

Is there a plan to update the Home Assistant core JuiceNet integration to work with JuicePass?

What version of Home Assistant Core has the issue?

2022.12.5

What was the last working version of Home Assistant Core?

2022.12.5

What type of installation are you running?

Home Assistant OS

Integration causing the issue

No response

Link to integration documentation on our website

No response

Diagnostics information

No response

Example YAML snippet

No response

Anything in the logs that might be useful for us?

No response

Additional information

No response

ivanfmartinez commented 6 months ago

@emontnemery even that Enel X indicated that they will remove access the integration still work. Instead of removing from 2024.3 https://github.com/home-assistant/core/pull/111477 I think only documentation should indicate that in future will be removed.

But as today it works fine and is the only way to control the current on juicebox, the proxy alternative does not allow to set the current used on juicebox.

niharmehta commented 6 months ago

@emontnemery The Juicenet integration as well as the home.juice.net is working fine for me as well. No need to remove it at this time.

rtw819 commented 6 months ago

@emontnemery @thecode FYI - Not everyone was converted to the new JuicePass platform, in fact some units/accounts were reverted back to the original JuiceNet interface.

This integration has been working fine for my JuiceBox 40 units for the past couple of years. Please do not remove the integration for those whom which it works!!!

macjeff commented 6 months ago

I tried to go back to get this to work and it kept failing. Called their support and they said they wont let anyone back and they will be pulling the server soon. They have left it longer than expected to give people plenty of time to move over. They recently sent out a last chance email so it wont be long.

bendiger commented 6 months ago

This is super disappointing. Please don't remove this from Home Assistant yet. I just bought the charger on black friday and have been waiting to get it installed. I currently still have home assistant connected to the account and it seems to still pull data when I reconnected it. So clearly it's not broken for everyone. Why can't more companies offer local control when they get tired of running servers.... I haven't even taken it out of the box yet... 😩

niharmehta commented 6 months ago

Well regardless of the fact that Juicenet is still working perfectly well for many users, devs have decided to ignore this thread and Juicenet is removed from 2024.3. I am not sure if there is an alternative using custom_components that can keep it working for people that still are using Juicenet, but if anyone has ideas, may be worth sharing here.

emontnemery commented 6 months ago

Sorry about that, I did skim through this issue before removing the integration, and I got the impression that the accepted solution among existing users who don't want to upgrade is to use juicepassproxy or similar methods to fake the old service.

If that's not the case we should restore the functionality, I'll discuss with a few others what the best way forward is.

emontnemery commented 6 months ago

I've opened a PR to restore the integration. However, even if that PR is accepted, the integration will not stay in Home Assistant for much longer since it seems clear the juice.net service is no longer supported and will go away.

The way I see going forward is that the integration is permanently removed from Home Assistant core, and those of you who still want to use it need to find a way to maintain the code as a custom integration.

niharmehta commented 6 months ago

Appreciate the response. I agree it makes sense to state that this integration is no longer recommended for the reasons above. Moving it to a working custom component is probably is the best option until it Juice.net finally shuts down. Hopefully it is not much more difficult than moving the existing code over to the directory.

rtw819 commented 6 months ago

I've opened a PR to restore the integration. However, even if that PR is accepted, the integration will not stay in Home Assistant for much longer since it seems clear the juice.net service is no longer supported and will go away.

The way I see going forward is that the integration is permanently removed from Home Assistant core, and those of you who still want to use it need to find a way to maintain the code as a custom integration.

Thank you for this. It gives those of us that are still working today some additional time to figure out some sort of alternative.

Someone earlier in the threads suggested the Integration could be listed as deprecated, but still available for use. I think doing something like that should give folks the right impression if they come to find the integration as a new or prospective JuiceNet user, knowing that it will likely not be functional for new users and is currently not functional for all users.

Would love to learn more about how to potentially convert it to a custom integration if/when the time comes assuming it still works.

emontnemery commented 6 months ago

Hopefully it is not much more difficult than moving the existing code over to the directory.

That's pretty much all that is needed. The only code change is that custom components need to have a version in their manifest file.

It would be beneficial if someone steps up and publishes the resulting custom component on github and maybe also on HACS, since there may be changes in Home Assistant, after juicenet is removed from Home Assistant Core, which everyone must otherwise fix by themselves.

macjeff commented 6 months ago

This AM I had a message in Home Assistant that Juicenet has been discontinued and the integration has been removed from my homekit setup. Its gone now and I did not do it!!!!

philipkocanda commented 6 months ago

For me the integration suddenly stopped working yesterday (I did not upgrade HomeAssistant yet). Might be that they finally pulled the plug on the legacy API? Anyone else seeing this?

pgenera commented 6 months ago

After contacting my state attorney general, I was able to get enel X to give me money back (and return the units), since load sharing no longer worked. Still waiting on a check, but :crossed_fingers:

niharmehta commented 6 months ago

It is offline on the web, app, and API. Really unfortunate situation but not surprising I guess. I received no new notifications or emails that it is going down yesterday. At least I was able to convince several family members go with alternative brand chargers.

skyemoor commented 6 months ago

The legacy interface has been working sporadically for me for months. Just suddenly stopped again.

On Wed, Mar 13, 2024, 9:35 AM Philip Kocanda @.***> wrote:

For me the integration suddenly stopped working yesterday (I did not upgrade HomeAssistant yet). Might be that they finally pulled the plug on the legacy API? Anyone else seeing this?

— Reply to this email directly, view it on GitHub https://github.com/home-assistant/core/issues/86588#issuecomment-1994421768, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABLBSYPPF4ZYIKZILG5A3OLYYBI2ZAVCNFSM6AAAAAAUFWZFK2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSOJUGQZDCNZWHA . You are receiving this because you commented.Message ID: @.***>

rtw819 commented 6 months ago

For me the integration suddenly stopped working yesterday (I did not upgrade HomeAssistant yet). Might be that they finally pulled the plug on the legacy API? Anyone else seeing this?

@philipkocanda - It seems that may be the case.

After having been converted back to the old JuiceNet platform at the beginning of January 2023 and having been working more-or-less flawlessly on the old platform for nearly 14 months and for years prior to that, a couple of days ago I received an unexpected (?) email stating the old platform was going away and by mid-day yesterday both of my JuiceBox units went offline and had inevitably gotten converted to the new Enel X Way App on their new platform, one mid-charge stuck reporting charging at 32 amps. It's silly, but I guess I need to go ahead and delete the integration now anyway.

My apologies for making a fuss earlier in the thread -- I don't think any of us realized how quickly they were pursuing actually forcefully shutting things down this time around. :( Ever since Enel X took over the Emotorwerks and JuiceNet brands, things definitely got weird.

Old host: emwjuicebox.cloudapp.net:8042 New host: juicenet-udp-prod3-usa.enelx.com:8047

I did open a Tech Support case with Enel X, and of course they shut down any potential request for enhancement.

We do not have public API's at this time. However, you can include your JuiceBox Pro into voice control with an Amazon Echo (Alexa) and or Google Assistant (Home not required) and Google Home.

And when pressed further came back with this:

Unfortunately for the moment, we don't have any ETA of when API access will be public again.

In the meantime, the only options available are the ones listed above.

We apologize for the inconvenience.

@tomayac seems to have found the internal new app endpoints for the new platform here: https://gist.github.com/tomayac/754284dd79e20147f482d932ed89f2a1

Perhaps someone that is more familiar with OAuth, Home Assistant Integrations and the likes might be able to figure something out. Might be worth pulling out the old Postman if I can find some spare time.

It was (mostly) good while it lasted, right? Gosh. At this point I'm sorry I actually recommended them to anyone after having many years of serviceable use, and now this mess. The only constant is change. Here's hoping the new app gets better (though it doesn't seem to have gotten any better in the past year plus). I can say for certain I'll make a different choice in manufacturer/product the next time around.

Edit: Attempt to fix Gist link

philipkocanda commented 6 months ago

@rtw819 thanks for confirming, I've also had to reset my Juicebox (an old one from 2018) to factory settings. I did so using the telnet interface by issuing the factory_reset command. I then proceeded to setup as a new Juicebox, which took a while but at least I can use it again. The new app is lacking the scheduled charging features, which is why I'd like to have API control again so I can automate that from HomeAssistant.

For some reason your gist link didn't work for me, but this one does so sharing it here again: https://gist.github.com/tomayac/754284dd79e20147f482d932ed89f2a1

I like the idea of reversing their Cloud API, but I'd much prefer reversing the local API so we never have to go through the cloud in the first place (so we don't end up in this same situation in a few years time again). I'm successfully using juicepassproxy to get live data from the Juicebox, but that doesn't allow control yet. There's an issue open for that though, and some folks are in the process of reversing the commands for starting/stopping charging. I might have a crack at that myself soon when I have the time.

gkwok1 commented 6 months ago

@rtw819 thanks for confirming, I've also had to reset my Juicebox (an old one from 2018) to factory settings. I did so using the telnet interface by issuing the factory_reset command. I then proceeded to setup as a new Juicebox, which took a while but at least I can use it again. The new app is lacking the scheduled charging features, which is why I'd like to have API control again so I can automate that from HomeAssistant.

For some reason your gist link didn't work for me, but this one does so sharing it here again: https://gist.github.com/tomayac/754284dd79e20147f482d932ed89f2a1

I like the idea of reversing their Cloud API, but I'd much prefer reversing the local API so we never have to go through the cloud in the first place (so we don't end up in this same situation in a few years time again). I'm successfully using juicepassproxy to get live data from the Juicebox, but that doesn't allow control yet. There's an issue open for that though, and some folks are in the process of reversing the commands for starting/stopping charging. I might have a crack at that myself soon when I have the time.

I issued a factory_reset command on my Juicebox 40 and now it won't even give a softAP on startup. How did you get yours to working again?

rtw819 commented 6 months ago

I like the idea of reversing their Cloud API, but I'd much prefer reversing the local API so we never have to go through the cloud in the first place (so we don't end up in this same situation in a few years time again).

While I also would much prefer a locally available access method, unfortunately, the local telnet interface to the JuiceBox devices do not have access to any of the actual charging detail information, sensors, controls, etc. It's effectively a supervisory interface module which doesn't have interpreted access to any of the underlying EVSE componentry. There is no local API through that interface.

I highly suspect without coming up with a way to somehow revise that supervisory module firmware -- if such a feat is even feasible or possible, a direct locally accessible API is not likely possible. It would be nice, though.

rtw819 commented 6 months ago

I issued a factory_reset command on my Juicebox 40 and now it won't even give a softAP on startup. How did you get yours to working again?

Against my wishes and desires, both my EVSE migrated themselves individually and independently, at different times of day, to the new JuicePass app earlier this week. I didn't have to "do" anything. It might be worth opening a support ticket to Enel X at least try to get yourself some functionality back?

mdcollins05 commented 6 months ago

Against my wishes and desires, both my EVSE migrated themselves individually and independently, at different times of day, to the new JuicePass app earlier this week. I didn't have to "do" anything. It might be worth opening a support ticket to Enel X at least try to get yourself some functionality back?

I wish you luck. I've had a ticket open with Enel support since late December and things have only gotten worse for me. My two Juicebox 32s won't load share or even charge on a schedule any more. I've asked them for a refund multiple times and they tell me a supervisor will get back to me on that, yet I hear nothing. I'm now disputing the charge with my bank but because I bought them early last year, that is going slow.

Even if they somehow fix the issues, I don't want these chargers. I plan on replacing them with the Tesla wall connectors because those seem to have a local polling option and can load share without a 3rd party server on the Internet.

Sorry for the rant. Thanks to those who worked on the Juicenet integration. It was awesome while it lasted.

gkwok1 commented 6 months ago

Against my wishes and desires, both my EVSE migrated themselves individually and independently, at different times of day, to the new JuicePass app earlier this week. I didn't have to "do" anything. It might be worth opening a support ticket to Enel X at least try to get yourself some functionality back?

I had them open a ticket with their tier 2 support on why my SoftAP is not coming back up so I can at least do local polling with juicepassproxy but I am also relief that it's not phoning home anymore. It;s just a dumb charger now which I am sort of okay with it.

FalconFour commented 6 months ago

Oh, hey - wow, what a thread so far. Well, y'all have gotten a lot further than I have on ripping the cloud portion apart, but I can help with bits of the embedded part. Of course I wouldn't recommend a JuiceBox 2.x (grey plastic case, purple front, LED bar), but I would love to keep the older ones going. The JB1.x series was my baby, in a sense. I keep them going with replacement relays and guides thereof, but I really wish I could contribute some of my protocol knowledge to a community that wants to rip it apart.

First off, don't do a "factory_reset" on any unit that doesn't have ZAP firmware! That includes any JuiceBox with v8.12.x board or earlier (pre-historic, nearing kickstarter era), as doing a factory reset is resetting it to Zentri's factory - not eMW's! That was never a feature meant for anyone to fiddle with, and doing a factory reset will make it default to the wrong baud rate, no longer able to communicate with the JB's processor, and thus never able to be told to go to setup mode to recover it. Always be extremely cautious with factory_reset. If it's running the ZAP (no password for the "JuiceNet" network), then it's safer to do.

If there's no tackling this from the API end, then maybe there's hope to getting it working on the internal network instead. I know the Zentri ZAP performs a DNS lookup to find the end point and the directory server, so that makes some network hackery necessary. From there, I could help decode the raw UDP protocol it's sending on port 8042 (typically - but also port 8047 more recently, is that right?). Wonder what all we could get done together with more collab :)

philipkocanda commented 6 months ago

@FalconFour I guess I was lucky with mine as I have the ZAP firmware (old style juicebox). Your help is very much needed, we’re busy trying to decode the UDP protocol but not much luck so far: https://github.com/snicker/juicepassproxy/issues/39

carrel-gr commented 5 months ago

Could juicepassproxy be made into an HA add-on? I was looking at the Ring-MQTT add-on and it seems to be performing a similar function. I like that it would become more of a part of HA and not require a separate docker server.

jon6fingrs commented 5 months ago

I think portainer has been removed from the addon store but you can still install it from third party repos and then you can install whichever docker containers you want. On Mar 25, 2024, at 2:29 PM, David Carrel @.***> wrote: Could juicepassproxy be made into an HA add-on? I was looking at the Ring-MQTT add-on and it seems to be performing a similar function. I like that it would become more of a part of HA and not require a separate docker server.

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>

niharmehta commented 5 months ago

I have not set up the proxy yet, but I have converted an existing docker container to an HA in the past using these instructions.
https://developers.home-assistant.io/docs/add-ons/tutorial/

Another great resource: https://github.com/alexbelgium/hassio-addons/wiki/Building-an-addon

FalconFour commented 5 months ago

FYI, over in juicepassproxy (linked above), there is promising development to taking JuiceBox fully local - surprisingly, I seem to have found the missing piece to get working checksums. Might need some refactoring to build the report/response system (vs. just parsing status messages today), and send commands back to the box (with or without talking to Enel servers). With a bit more effort on it, it may soon fully "exist" as a turnkey solution for local control & automation that runs circles around the capabilities, API (or lack thereof), & unreliability of the original servers. Just needs some more contributors and packaging!

Derdzyan commented 4 months ago

Guys, thanks for all the efforts I'm really waiting for a local reliable power-sharing tool. If there’s anything working please share it with us. Off-top. There is a new app version ( https://emotorwerks.zendesk.com/hc/en-us/articles/24966999878939-Version-4-3-48 ) coming in the US with scheduling added)) As I use 2.01 models I hope there’ll be something coming connected with power-sharing as well because as I understand even if some solutions will be created for the older model year chargers they may not work on the newer ones (correct me if I'm wrong).

saltydog256 commented 4 months ago

Took me 47 days after the migration to get X-way working (today). So I definitely support local control. I have all the models up until the JuiceBox2 (3-phase) if you want a tester. I had solar PV integration (charge on excess (exported) solar). Some OCPP experience too. I also have the hex files for the JuiceBox.

saltydog256 commented 4 months ago

I'm missing Power sharing too (Load balancing). It was never very good anyway, especially if you export (negative current). And 3-phase was a disaster. I have JB2.0 and load sharing used to work with this and older versions too.

wozz commented 3 months ago

FYI, over in juicepassproxy (linked above), there is promising development to taking JuiceBox fully local - surprisingly, I seem to have found the missing piece to get working checksums. Might need some refactoring to build the report/response system (vs. just parsing status messages today), and send commands back to the box (with or without talking to Enel servers). With a bit more effort on it, it may soon fully "exist" as a turnkey solution for local control & automation that runs circles around the capabilities, API (or lack thereof), & unreliability of the original servers. Just needs some more contributors and packaging!

I didn't see an add-on for this yet, so I bundled the container as an add-on available here: https://github.com/wozz/ha-addons/tree/main/juicepassproxy

troydangerfield commented 3 months ago

FYI, over in juicepassproxy (linked above), there is promising development to taking JuiceBox fully local - surprisingly, I seem to have found the missing piece to get working checksums. Might need some refactoring to build the report/response system (vs. just parsing status messages today), and send commands back to the box (with or without talking to Enel servers). With a bit more effort on it, it may soon fully "exist" as a turnkey solution for local control & automation that runs circles around the capabilities, API (or lack thereof), & unreliability of the original servers. Just needs some more contributors and packaging!

I didn't see an add-on for this yet, so I bundled the container as an add-on available here: https://github.com/wozz/ha-addons/tree/main/juicepassproxy

This is great wozz, I have tried to use it however I get "This add-on is not compatible with the processor of your device or the operating system you have installed on your device." - Not sure what I need to check, I am running on a standalone intel PC as an image. Do you have any suggestions on how to get this to work, I have lost access to the app data, so would just like to capture the data and feed it to HA.

wozz commented 3 months ago

i only built it for arm so far (raspberry pi based systems). i can add an x86 image

troydangerfield commented 3 months ago

i only built it for arm so far (raspberry pi based systems). i can add an x86 image

I really appreciate this wozz, let me know once done and I can test. Again, I love the generosity/willingness of everyone to help.

tomayac commented 3 months ago

Greatly appreciate this, too, @wozz! I'd love to give this a spin on my Home Assistant running on an old Surface Go with an Intel Pentium Gold 4415Y.

wozz commented 3 months ago

the amd64 image is published. i don't have an HA instance to test it, so lmk if it doesn't work for some reason or if other architectures are needed

carrel-gr commented 1 month ago

Is it possible to configure UPDATE_UDPC to true with the add-on? Can that be added as an option?

saltydog256 commented 1 month ago

Not that I know of.

From: David Carrel @.> Reply to: home-assistant/core @.> Date: Thursday, 25 July 2024 at 8:49 AM To: home-assistant/core @.> Cc: saltydog256 @.>, Comment @.***> Subject: Re: [home-assistant/core] Enel X migrating from JuiceNet to JuicePass (Issue #86588)

Is it possible to configure UPDATE_UDPC to true with the add-on? Can that be added as an option?

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.Message ID: @.***>

carrel-gr commented 1 month ago

Hmmm, is it just a matter of adding a one line addition to each of config.yaml and run.sh?? I will try that tomorrow.

Oh, maybe two lines added to config.yaml

carrel-gr commented 1 month ago

BTW: thanks @wozz for putting out this add-on. I originally ran the very earliest juicepassproxy on my not-so-great docker host and the combo was quite flaky. I haven't had time to work on it until now. Finding the add-on was great. And the latest additions to juicepassproxy are really great. I look forward to seeing how this continues. Big thanks to @snicker and everyone else that worked on this.

saltydog256 commented 1 month ago

Not sure – I only got the old JuiceNet one working, not JuicePass. 

From: David Carrel @.> Reply to: home-assistant/core @.> Date: Thursday, 25 July 2024 at 3:54 PM To: home-assistant/core @.> Cc: saltydog256 @.>, Comment @.***> Subject: Re: [home-assistant/core] Enel X migrating from JuiceNet to JuicePass (Issue #86588)

Hmmm, is it just a matter of adding a one line addition to each of config.yaml and run.sh?? I will try that tomorrow.

Oh, maybe two lines added to config.yaml

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.Message ID: @.***>

wozz commented 1 month ago

Hmmm, is it just a matter of adding a one line addition to each of config.yaml and run.sh?? I will try that tomorrow.

Oh, maybe two lines added to config.yaml

should be similar to https://github.com/wozz/ha-addons/commit/b0ed64b3006c96449ade6a8e4eed82040b9d4a08

I originally had that enabled, but it was flaky for me running it that way so I switched to overriding the DNS at my router and it's been way more stable.

carrel-gr commented 1 month ago

OK, I thought this would be easy, but I'm missing something. I am totally new to add-ons so any help would be appreciated. I modified conffig.yaml and run.sh just the same way as the example provided by @wozz . I see the new option in the Configuration page, but when I start it, juicepassproxy never sees the UPDATE_UDPC flag being anything but false. I tried all sorts of tests, and as best I can tell, my run.sh is not being used. My config.yaml is being used, but not my run.sh in the same directory. Any ideas what I am doing wrong?

I have tried deleting my repository from the addons in HA and re-adding it. I have even rebooted the HA host.

carrel-gr commented 1 month ago

Interesting that my HA instance is not able to add this repository... git command fails saying repository not found. I've tried creating my own instance, but HA says not a valid repository. Any ideas?

What URL did you enter? If I use https://github.com/wozz/ha-addons it adds the @wozz repository to my HA add-on store and (after a page reload) I can see the JuicePassProxy add-on.

carrel-gr commented 1 month ago

Hey @wozz it appears that there is a /run.sh in your container image so the one in the ha-addons repo isn't being used. Nothing I have tried will get HA to use the run.sh from my ha-addons repo. Would it be possible for you to make a new addon version with support for the UPDATE_UDPC option? Or does someone know how I can tell it to use my run.sh in my addon repo instead of thee one in the downloaded image?