Check out the documentation to get started at muart-group.github.io.
This component relies heavily on the itp-packet library to handle the IT Protocol communications and state.
The main branch will (aspirationally) contain stable code, and new development will happen on the v* branches (v2 at time of writing).
Issues with the MITP component should be reported in this repository.
Previous attempts to merge this code into ESPHome have been unsuccessful, and the focus of this project is now on user experience and stable behavior rather than attempting to merge with ESPHome. (As much of the ITP logic has been moved to itp-packet, it should be relatively easy to leverage the work here in a non-ESPHome ecosystem)
The included devcontainer should take care of all the prerequisites. In your testing ESPHome config file, you can reference your local version of this repository like:
external_components:
- source:
type: local
path: /workspaces/muart-group/esphome-components/componentsTo help keep things a little more organized and easy to understand, some quick notes on the architecture:
The ITP Packet library needs bytes to parse, and the implementation of this interface here provides those using ESPHome's UART component.
The ITP Packet library sends parsed packets via this interface, and the implementation here (mostly in mitsubishi_itp-packetreceiving.cpp) handles reading those packets and passing that information on to ESPHome / Home Assistant.
This class helps manage the overall state of the ITP system primarily by caching the latest received packets and providing some convenience methods to track whether a heat pump is connected.
These classes represent the ITP heat pump and thermostat and are used to change settings to communicate with equipment. These are implemented in the itp-packet library, so more details are available there.