Skip to main content

A library for interfacing with Mitsubishi HVAC via the Echonet lite protocol.

Project description

Mitsubishi Echonet

GitHub Release License Project Maintenance BuyMeCoffee

A library for interfacing with Mitsubishi HVAC with the ECHONET-lite protocol over WiFi adaptors such as the MAC-568IF-E.

It is specifically designed for use with Home Assistant, and its functionality is limited to HVAC systems, but it could be potentially extended for other ECHONET-lite applications and become a more general purpose library.

Similar implementations seem to be Node JS middleware running on Docker containers to interface into the MQTT API however this is designed to be used as a straight up library, no middleware, Node JS or Docker containers needed!

It is designed to work with Python 3.7 out of the box as that was the environment I was working on.

Instructions

Simplest way to install is to use pip:

pip install mitsubishi_echonet

Basic usage

Discover a list of HVAC using:

aircons = mit.discover('Home air conditioner')
aircon = aircons[0]

Turn HVAC on or off:

aircon.on()
aircon.off()
aircon.getOperationalStatus()
{'status': 'off'}

Set or Get a HVACs target temperature

aircon.setOperationalTemperature(25)
aircon.getOperationalTemperature()
{'set_temperature': 25}

Set or Get a HVACs mode of operation:

supported modes =  'auto', 'cool', 'heat', 'dry', 'fan_only', 'other'

aircon.setMode('cool')
aircon.getMode()
{'mode': 'cool'}

Set or Get a HVACs fan speed:

Note - your HVAC may not support all fan speeds.

supported modes = 'auto', 'minimum', 'low', 'medium-Low', 'medium', 'medium-high', 'high', 'very high', 'max'

aircon.setFanSpeed('medium-high')
aircon.getFanSpeed()
{'fan_speed': 'medium-high'}

Set or Get a HVACs swing mode:

Useful for split systems Note - your HVAC may not support all swing modes.

supported modes = 'not-used', 'vert', 'horiz', 'vert-horiz'

aircon.setSwingMode('vert')
aircon.getSwingMode()
{'swing_mode': 'vert'}

Set or Get a HVACs automatic direction mode:

Useful for split systems Note - your HVAC may not support all modes.

supported modes = 'auto', 'non-auto', 'auto-horiz', 'auto-vert'

aircon.setAutoDirection('auto')
aircon.getAutoDirection()
{'auto_direction': 'auto'}

Set or Get a HVACs vertical airflow direction:

Useful for split systems Note - your HVAC may not support all modes.

supported modes = 'upper', 'upper-central', 'central', 'lower-central', 'lower'

aircon.setAirflowVert('central')
aircon.getAirflowVert()
{'airflow_vert': 'central'}

### Get HVAC attributes at once:
```python
aircon.update()
{'status': 'On', 'set_temperature': 25, 'fan_speed': 'medium-high', 'room_temperature': 25, 'mode': 'cooling'}

Using this library with Home Assistant

NOTE: For Home Assistant users there is now a dedicated repo for the related Home Assistant 'Mitsubishi' custom component that makes use of this Python library: (https://github.com/scottyphillips/mitsubishi_hass)

'example.py' gives you an idea how to drive the HVAC directly from Python using this library.

Thanks

Thanks to Karl Chaffey for contributing code updates for v0.4

Thanks to Jeffro Carr who inspired me to write my own native Python ECHONET library for Home Assistant. I could not get his Node JS Docker container to work properly on Hass.io :-) Some ideas in his own repo got implemented in my own code. (https://github.com/jethrocarr/echonetlite-hvac-mqtt-service.git)

Also big thanks to Futomi Hatano for open sourcing a high quality and extremely well documented ECHONET Lite library in Node JS that formed the basis of my reverse engineering efforts. (https://github.com/futomi/node-echonet-lite)

License

This application is licensed under an MIT license, refer to LICENSE for details.


Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mitsubishi_echonet-0.5.1.tar.gz (25.3 kB view details)

Uploaded Source

Built Distribution

mitsubishi_echonet-0.5.1-py3-none-any.whl (23.9 kB view details)

Uploaded Python 3

File details

Details for the file mitsubishi_echonet-0.5.1.tar.gz.

File metadata

  • Download URL: mitsubishi_echonet-0.5.1.tar.gz
  • Upload date:
  • Size: 25.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.9.5

File hashes

Hashes for mitsubishi_echonet-0.5.1.tar.gz
Algorithm Hash digest
SHA256 2230905bedc4d7473522de55100771a11ee3f2fe3ce22c893ce54b0f2aa5474c
MD5 c9144717027eea63e8e4cd275ca09554
BLAKE2b-256 e0499b6349f0ba8e32137ff6551398f8a2f3600d22d753a5f840b8b6788b4cc9

See more details on using hashes here.

File details

Details for the file mitsubishi_echonet-0.5.1-py3-none-any.whl.

File metadata

  • Download URL: mitsubishi_echonet-0.5.1-py3-none-any.whl
  • Upload date:
  • Size: 23.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.9.5

File hashes

Hashes for mitsubishi_echonet-0.5.1-py3-none-any.whl
Algorithm Hash digest
SHA256 2395affaa8aaaf7627950804d57bc951a748ce373516b4c55e1799f03a437d53
MD5 367a854b196c679b63cd0c3b9fcb56b0
BLAKE2b-256 eb325b990a358398522afb68093d5ca52c39ff88a1064e46c92fe8ceb9f93a06

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page