pywfrac
Async Python client library for Mitsubishi Heavy Industries air
conditioners that use the WF-RAC WiFi module and the Smart M-Air app.
Talks the module's local HTTP(S) API and decodes/encodes the airconStat
protocol carried over it.
Not for Mitsubishi Electric systems (e.g. a MAC-577IF2-E interface) or MELCloud — different manufacturer, different protocol.
This library is the protocol layer extracted from the
mitsubishi_wf_rac
Home Assistant integration, which stays the reference for field notes and
supported devices. pywfrac has no dependency on Home Assistant — it only
needs an aiohttp.ClientSession.
Install
pip install pywfrac
Usage
import aiohttp
from pywfrac import Repository
async def main() -> None:
async with aiohttp.ClientSession() as session:
repo = Repository(
session,
hostname="192.168.1.50",
port=51443,
operator_id="my-operator-id",
device_id="my-device-id",
)
airco_id = await repo.get_airco_id()
await repo.update_account_info(airco_id, time_zone="Europe/Berlin")
stats = await repo.get_aircon_stats(airco_id)
Repository discovers whether the module speaks plain HTTP or HTTPS on the
first request and remembers the result; construct it with method="http" or
method="https" to skip discovery if you already know. Pass cert_path to
use a captured module certificate instead of the permissive fallback context
— see Repository._get_ssl_context for how to capture one.
RacParser turns a raw getAirconStat response into an Aircon/AirconStat
object and back; see the protocol reference linked below for the field
layout.
Protocol reference
The airconStat wire format, error codes, and per-model capability tables
are documented in the integration's
module reference.
Versioning
This library follows SemVer, independent of the integration's own CalVer release scheme — pin an exact version.
License
MIT, see LICENSE. Extracted from code originally by @jeatheak, maintained since by @blues-sechseck.
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 pywfrac-0.1.0.tar.gz.
File metadata
- Download URL: pywfrac-0.1.0.tar.gz
- Upload date:
- Size: 40.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7fe1be8a3c5dcadf78cc704f50e03351a5911d9bce9e752d044b4fc513a32d2b
|
|
| MD5 |
b757a63f95a6fe8a5ffddb7815e95672
|
|
| BLAKE2b-256 |
75c9aaa7ca77047f02b536f3f6472071f793137ef6360cad7b33b0b55fe388c0
|
Provenance
The following attestation bundles were made for pywfrac-0.1.0.tar.gz:
Publisher:
release.yml on blues-sechseck/pywfrac
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pywfrac-0.1.0.tar.gz -
Subject digest:
7fe1be8a3c5dcadf78cc704f50e03351a5911d9bce9e752d044b4fc513a32d2b - Sigstore transparency entry: 2702947544
- Sigstore integration time:
-
Permalink:
blues-sechseck/pywfrac@13a5e03b270070e56bbe0074e4eb0002922c1103 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/blues-sechseck
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@13a5e03b270070e56bbe0074e4eb0002922c1103 -
Trigger Event:
push
-
Statement type:
File details
Details for the file pywfrac-0.1.0-py3-none-any.whl.
File metadata
- Download URL: pywfrac-0.1.0-py3-none-any.whl
- Upload date:
- Size: 30.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6abe13e2c1764b8d0dc788503b904932deebc496fcb2d26308aa842118f5fe40
|
|
| MD5 |
24e0be8e113a1f7a518e071021ce23b4
|
|
| BLAKE2b-256 |
8adfb111aabf8a9de149ec35d89fd233b8ee019b1c4cfabb46c98a70215a3529
|
Provenance
The following attestation bundles were made for pywfrac-0.1.0-py3-none-any.whl:
Publisher:
release.yml on blues-sechseck/pywfrac
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pywfrac-0.1.0-py3-none-any.whl -
Subject digest:
6abe13e2c1764b8d0dc788503b904932deebc496fcb2d26308aa842118f5fe40 - Sigstore transparency entry: 2702947800
- Sigstore integration time:
-
Permalink:
blues-sechseck/pywfrac@13a5e03b270070e56bbe0074e4eb0002922c1103 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/blues-sechseck
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@13a5e03b270070e56bbe0074e4eb0002922c1103 -
Trigger Event:
push
-
Statement type: