Support for ECHONETLite Devices

Hi Everyone.

I have been maintaining support for a custom component I wrote about a year ago to control my Mitsubishi AU/NZ HVAC via the built in ECHONETLite protocol. This consists of the custom component and the underpinning Python library.

Now in theory this custom component in its present state should work for any HVAC device that has support for the ECHONETLite protocol and I believe quite a few Japanese branded HVAC systems such as Panasonic or Daikin may support this protocol too.

Also, the ECHONETLite protocol itself has support for a myriad of device categories, all kinds of crazy sensors, water heaters, washers, dryers etc etc
 I would be interested to know if anyone has ECHONET enabled devices.

https://echonet.jp/wp/wp-content/uploads/pdf/General/Standard/Release/Release_F_en/SpecAppendixF_e.pdf

https://echonet.jp/product_en/echonet_lite_specification/

I would like to see if anyone using non-Mitsubishi ECHONETLite enabled HVAC systems, or any other devices out there, are able to use the library. The idea is that I might continue to work on this project until support for the ECHONETLite protocol becomes a core component of Home Assistant.

Let me know if you are interested!

Bit of a resurrection here, but I’m currently building a house in Japan that will be using panasonic aiseg2 for things like solar production, energy usage and also my air conditioner. As far as I can tell aiseg2 is compatible with ECHONETLite and I would love to be able to get read outs on energy consumption and such into home assistant, so if you’re still working on this and need help testing, let me know (still a few months off the house being completed though)!

1 Like

Hi Tony,

I haven’t played around with it for a few months. My recommendation would be to set up a python CLI environment and then run the ‘mitsubishi_echonet’ discovery function. The example script has a few ideas.

Basically every ECHONET class in theory could be supported but none of the classes outside of HomeAirConditioner are coded. You would have to work out which classes your devices belong to and then use the specification document to fill in the gaps. You might even need to create new classes inside the library.

I would suggest that forking the library and messing about with it would be the way to start. the ‘dev-2’ branch was an attempt to rework the original code into something that was a bit more extensible and generic but i lost interest


2 Likes

Hey,

I have some Panasonic AiSeg stuff and finally had some time to hack on Scott’s library, I can read out solar and battery metrics from my PowerStation S+:

Discovering Anything..
Supported instance discovered at 10.0.0.1 - Home solar power generation class
Supported instance discovered at 10.0.0.1 - Storage battery class
{'status': 'On'}
{'cumul_power': 1632084}
{'instantaneous_power': 461}
{'status': 'On'}
{'remaining_electricity_3': 22}
{'working_operation_status': 'Standby'}

Some notes:

  1. My PowerStation is connected via ethernet to local network
  2. It does not seem to reply to multicasts, so I overrode ENL_MULTICAST_ADDRESS with the IP address of the PS
  3. I did the absolute bare minimum to get this to work, code is by no means maintainable or reliable (no error checking, crappy naming, whitespace errors, etc.)

I plan on integrating with HA eventually, but I think some work is required to refactor the existing library (in fact, I just now saw that Scott started this in a new branch) to make it easier to add to and maintain. I don’t have much free time so I hope this PoC is enough to get you or others going.

1 Like

That’s really cool stuff. I might look at turning the Dev-2 branch into a new library and look at including your code.

Happy to have found this thread!
I am also building a house in Japan and looking into home automation.

I was initially disappointed to see each brand making its own app/system (usually with 1.5 star on Play Store).

But after some research it looks like ECHONETLite might be the underlying protocol that might give me the control I want.

What I hope to control:

  • Entrance door (housemaker planning LIXIL IoT door, not sure if easy/safe to connect with Home Assistant)
  • AC (looks possible with ECHONETLite)
  • Solar panel and batteries (looks possible with ECHONETLite)
  • Lights (I will try to stick with something easily supported by Home Assistant)
  • Electric rolling curtains (didn’t look into it)
  • Window/door sensors?

I will try to give regular update on how it goes.

@gvswastaken has been helping refactor the previous ECHONETlite library; so there is a new repo now.

Please have a look and a play, and if you want some additional functionality added put in a PR or raise an issue.

I have just started looking into what I can grab from my housemaker (äž€æĄć·„ć‹™ćș—)'s HEMS.

They have this æƒ…ć ±ćŽé›†ăƒŠăƒ‹ăƒƒăƒˆ(Info gathering unit, which I guess just means HEMS unit) which is made by Mitsubishi: https://echonet.jp/introduce/gz-000156/. It has it’s own Wi-Fi AP that other devices connect to, and is connected to the internet via my home network (hard wired). Using the housemaker’s android app you can control your aircon, see your power usage and/or solar power situation.

My Mitsubishi aircon was connected to that unit’s WiFi AP via the HM-W002-AC adapter. I paired the aircon with my home network instead and was able to grab info from it using Scott’s repo, so cheers for that @scotty !

Next I tried querying the HEMS unit but got this response which seems like it isn’t going to be useful:

eojgc: Echonet group code = 5
eojcc: Echonet class code = 255
eojci: Echonet instance code = 1

0x05 corresponds to “controller class” according to the ECHONET docs (link to the PDF posted by Scott previously), but can’t spot anything interesting there.

Also connected to the HEMS box is a USB dongle which looks to be this 920Mhz communication module: https://www.satori.co.jp/wireless/products_solutions/920mhz/920mhz02/usbdongle.html
Haven’t figured out what this one is being used for, perhaps getting the power consumption or solar data?

Anyone else have experience with grabbing info from these controller boxes?

Controller class looks like a manager of other ECHONETlite devices. Looks like you can query a whole bunch of stuff based upon index value (set EPC 0xC2)

If you are interested, we can look at integrating this controller class into the ‘pychonet’ library. the library has had a major update and use asyncio now.

1 Like

Hmm, those commands don’t show up in the property map. To be honest I hardly understand the ECHONET spec at the moment but I believe it should be listed if it was callable? The “mandatory” column is blank in the spec so I guess they didn’t bother implementing it?

'manufacturer': 'Mitsubishi Electric',
'getmap': ['0x80', '0x81', '0x82', '0x83', '0x88', '0x8a', '0x8b', '0x93', '0x97', '0x98', '0x9d', '0x9e', '0x9f'],
'setmap': ['0x81', '0x93'],

They must be using non-standard vendor specific EPC codes

 :sweat:

After sniffing the packets to/from the controller, it looks like the only echonet device I can access over the home network is my aircon. The smart meter/solar stuff is using Wi-SUN (920MHz) and the dongle are plugged into the controller which doesn’t expose anything on its echonet interface. I guess I could try taking the dongle and using it on my PC.

@SomnolentSpoon Have you had much progress these past couple of years?

1 Like

I can’t find this in HACS, do I need to add a custom repository?