MirAIe AC API Client (miraie-ac-in)
A Python API client wrapper for controlling Panasonic MirAIe-enabled Air Conditioners. This library handles MQTT message parsing, connection loops, and telemetry status decoding.
This repository is a feature fork of rkzofficial/miraie-ac to provide updates for newer firmware versions, expand capacity control options, and improve connection stability.
[!IMPORTANT] This project is designed exclusively for Panasonic Air Conditioners that use the MirAIe application. It is not compatible with Panasonic ACs that use the global Comfort Cloud application.
Enhancements in This Fork
- Firmware 3.02+ Room Temperature Fix: Panasonic AC units running firmware
3.02+report ambient room temperature in a packed decimal format. This fork introduces version-aware decoding to display this value correctly, while retaining traditional decoding for older firmware. - Converti 8-in-1 Support: Expands compressor capacity control options by mapping the
60%and50%steps, enabling full 8-in-1 capacity features on supported models. - MQTT & Resource Lifecycle Cleanup: Adds an explicit
close()method to cleanly cancel and await active MQTT tasks and terminate the underlying HTTP client session, preventing resource leaks. - Telemetry Parsing: Adds status parsing for Nanoe™ air purifiers (
acng), Filter Clean alerts (acfc), Wi-Fi RSSI signal strength (rssi), and last control source (cnt). - Input Validation: Upgraded user credential validation with improved regex supporting subdomains and hyphenated domains.
Installation
Install the package via pip:
pip install miraie-ac-in
Quick Start
import asyncio
from miraie_ac import MirAIeHub, MirAIeBroker
async def main():
broker = MirAIeBroker()
hub = MirAIeHub()
# Initialize the hub (phone number format: +91XXXXXXXXXX)
await hub.init("+919999999999", "your_password", broker)
# List discovered devices
print("Discovered Devices:", hub.home.devices)
# Wait for the MQTT connection to establish
while not hasattr(broker, "client") or getattr(broker, "client") is None:
await asyncio.sleep(1)
# Example: Turn off the first device
if hub.home.devices:
device = hub.home.devices[0]
await device.turn_off()
await hub.close()
asyncio.run(main())
Credits & License
Upstream Authors & Contributors
- Originally authored and developed by @rkzofficial.
- Features contributed by upstream community developers: @deCodeIt, @gutpull, and @ankitduseja.
Fork Authors & Contributors
- Fork enhancements (firmware 3.02+ temperature fix, Converti 8-in-1, and MQTT resource leak resolutions) developed by @selvakk2k with assistance from Claude (Anthropic) and Gemini/Antigravity (Google DeepMind).
Licensed under the MIT License. See the LICENSE file for the original license text.
Metadata
Release files for miraie-ac-in 1.1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| miraie_ac_in-1.1.3.tar.gz | 13.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| miraie_ac_in-1.1.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 28.3 kB
Release files / miraie_ac_in-1.1.3.tar.gz
| Download URL | miraie_ac_in-1.1.3.tar.gz |
|---|---|
| Size | 13.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d6e2bd7fdb72f47f819a867f9084f3dd1215b8125202879788add9e5e078edfc
|
|
BLAKE2b-256 checksum How to use checksums |
d1dbdf68fac157777f35e1540a70059c2d049168a0eb98349100e051feef030a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 3, 2026.
Transparency logRelease files / miraie_ac_in-1.1.3-py3-none-any.whl
| Download URL | miraie_ac_in-1.1.3-py3-none-any.whl |
|---|---|
| Size | 15.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4ceec8de102dd7bc6219ec3b9a07e89dfa334e616b6029f7058734fcf444bf58
|
|
BLAKE2b-256 checksum How to use checksums |
ec4a55fb47d783c02760321a078b6a2dbc65f004a7f13d2b30c718331a675f77
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 3, 2026.
Transparency log