mausy5043-common
A Python 3.12+ library providing common functions and classes for interacting with various devices and services, including HomeWizard energy monitors, Sessy home batteries, SQLite3 databases, and meteorological calculations.
Requirements
- Python 3.12 or higher
- Dependencies:
numpy,pandas,pyarrow,python-homewizard-energy,sessypy,zeroconf
NOTE: Before using the SQLite3 functions, ensure the SQLite3 server/client and default Python package are installed.
Installation
python3 -m pip install mausy5043-common
Modules
funfile
File operation utilities.
cat(file_name: str) -> str: Read a file into a variable.
funmeteo
Meteorological calculations and conversions.
moisture(temperature, relative_humidity, pressure) -> np.ndarray: Calculate moisture content of air (kg/m³).wet_bulb_temperature(temperature, relative_humidity) -> float: Calculate wet bulb temperature (°C).saturation_vapor_pressure(temperature) -> ArrayLike: Compute saturation vapor pressure (hPa).dew_point_temperature(temperature, relative_humidity) -> ArrayLike: Compute dew point temperature (°C).relative_humidity_t2(T1, RH1, T2) -> ArrayLike: Calculate new relative humidity after a temperature change.
libsqlite3
SQLite3 database interaction.
SqlDatabase: A class to interact with SQLite3 databases, supporting data queuing, insertion, and retrieval.
funzeroconf
ZeroConf service discovery for network devices.
discover_devices(search_time: float = 60.0) -> dict: Discover services on the network using Zeroconf.get_ip(service: str, filtr: str = "", timeout: float = 60.0) -> list[str]: Retrieve IP addresses for a given service.prune_services(devices: dict, services: list[str]) -> dict: Filter devices by supported services.filter_properties(devices: dict, service: str, filtr: str) -> dict: Filter devices by property contents.
funhomewizard
HomeWizard energy monitor integration.
HomeWizard_V1: Class for interacting with HomeWizard P1-dongle (API v1).HomeWizard_V2: Class for interacting with HomeWizard devices (API v2).MyHomeWizard: High-level class to discover and connect to HomeWizard devices, supporting both API versions.
funsessy
Sessy home battery integration.
Sessy_v1: Class for interacting with Sessy batteries (API v1).MySessyBattery: High-level class to connect and retrieve data from Sessy batteries.
Usage Examples
Meteorological Calculations
from mausy5043_common.funmeteo import moisture, wet_bulb_temperature
# Calculate moisture content
temperature = 25.0 # °C
relative_humidity = 60.0 # %
pressure = 1013.25 # hPa
moisture_content = moisture(temperature, relative_humidity, pressure)
# Calculate wet bulb temperature
wet_bulb = wet_bulb_temperature(temperature, relative_humidity)
SQLite3 Database
from mausy5043_common.libsqlite3 import SqlDatabase
db = SqlDatabase(
database="example.db",
table="measurements",
insert="INSERT INTO measurements VALUES (?, ?, ?)"
)
db.queue({"timestamp": "2024-01-01", "value": 42})
db.insert()
HomeWizard Integration
from mausy5043_common.funhomewizard import MyHomeWizard
hw = MyHomeWizard(serial="YOUR_SERIAL", token="YOUR_TOKEN", debug=True)
hw.connect()
measurement = hw.get_measurement()
Sessy Battery Integration
from mausy5043_common.funsessy import MySessyBattery
battery = MySessyBattery(ip="192.168.1.100", user="admin", token="password", debug=True)
battery.connect()
measurement = battery.get_measurement()
ZeroConf Discovery
from mausy5043_common.funzeroconf import discover_devices, get_ip
# Discover all devices
devices = discover_devices(search_time=30.0)
# Get IP addresses for HomeWizard devices
homewizard_ips = get_ip(service="_homewizard", filtr="HWE-P1")
License
This project is licensed under the MIT License - see LICENSE for details.
Release files for mausy5043-common 2.12.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| mausy5043_common-2.12.4.tar.gz | 123.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mausy5043_common-2.12.4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 153.4 kB
Release files / mausy5043_common-2.12.4.tar.gz
| Download URL | mausy5043_common-2.12.4.tar.gz |
|---|---|
| Size | 123.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9fa2d67d0184649554151e5f02d0d2ec9342bda579759d823d5b71b67add9c6a
|
|
BLAKE2b-256 checksum How to use checksums |
2f7d20dffc620b3e5a172beee00170ea1366247e641bcf3284c523ae39962738
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.7 {"installer":{"name":"uv","version":"0.12.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / mausy5043_common-2.12.4-py3-none-any.whl
| Download URL | mausy5043_common-2.12.4-py3-none-any.whl |
|---|---|
| Size | 29.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
fc609d40d21236081b6770bf9f4ae3a60bf66924dc35ee3c5b8ae45d3bb779dc
|
|
BLAKE2b-256 checksum How to use checksums |
e47aa1066c72200a5ac1fc1695aa3c9d69d278a64ae549eec9c8bd649c8132d8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.7 {"installer":{"name":"uv","version":"0.12.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|