MirAIe-AC API for Python — actively maintained fork of miraie-ac
Project description
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file miraie_ac_in-1.0.8.tar.gz.
File metadata
- Download URL: miraie_ac_in-1.0.8.tar.gz
- Upload date:
- Size: 12.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8d3d9d50c3865617d6cccadab7b376f652d5c3a554c0e48fa107c19804c81930
|
|
| MD5 |
6f2f11918a040dbc5faac9a007f8fa47
|
|
| BLAKE2b-256 |
43946ba4385ea6460c0a12949328fad0e4d32a451b94f91bdae898e7c8c08773
|
Provenance
The following attestation bundles were made for miraie_ac_in-1.0.8.tar.gz:
Publisher:
publish.yml on selvakk2k/miraie-ac-in
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
miraie_ac_in-1.0.8.tar.gz -
Subject digest:
8d3d9d50c3865617d6cccadab7b376f652d5c3a554c0e48fa107c19804c81930 - Sigstore transparency entry: 2218653486
- Sigstore integration time:
-
Permalink:
selvakk2k/miraie-ac-in@7040498c6d615bc1e1fade24354ff011690e1105 -
Branch / Tag:
refs/tags/v1.0.8 - Owner: https://github.com/selvakk2k
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@7040498c6d615bc1e1fade24354ff011690e1105 -
Trigger Event:
release
-
Statement type:
File details
Details for the file miraie_ac_in-1.0.8-py3-none-any.whl.
File metadata
- Download URL: miraie_ac_in-1.0.8-py3-none-any.whl
- Upload date:
- Size: 14.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
119945769f5f0f5bcaadf85bc435951f6fa5fbf73636cdd509a3ec2e9b4b4458
|
|
| MD5 |
228610ee807ebae84f1321f7c0c8b100
|
|
| BLAKE2b-256 |
85009a00c1ea32209be2fdf2b17908791b99304ac57384c7900eb814aa46148b
|
Provenance
The following attestation bundles were made for miraie_ac_in-1.0.8-py3-none-any.whl:
Publisher:
publish.yml on selvakk2k/miraie-ac-in
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
miraie_ac_in-1.0.8-py3-none-any.whl -
Subject digest:
119945769f5f0f5bcaadf85bc435951f6fa5fbf73636cdd509a3ec2e9b4b4458 - Sigstore transparency entry: 2218654017
- Sigstore integration time:
-
Permalink:
selvakk2k/miraie-ac-in@7040498c6d615bc1e1fade24354ff011690e1105 -
Branch / Tag:
refs/tags/v1.0.8 - Owner: https://github.com/selvakk2k
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@7040498c6d615bc1e1fade24354ff011690e1105 -
Trigger Event:
release
-
Statement type: