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.
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 mausy5043_common-2.12.2.tar.gz.
File metadata
- Download URL: mausy5043_common-2.12.2.tar.gz
- Upload date:
- Size: 29.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.14.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c918bdf7bfe5ca4519ccc6f8fd4d4fd3170b3773bb9295f43c18d47904619b9a
|
|
| MD5 |
cd8976f28d8adb0303ab0584958c570f
|
|
| BLAKE2b-256 |
174e4d6b863b608b646a553055cf455843bde67fb5c50a2c55bc01b83b381bb8
|
File details
Details for the file mausy5043_common-2.12.2-py3-none-any.whl.
File metadata
- Download URL: mausy5043_common-2.12.2-py3-none-any.whl
- Upload date:
- Size: 29.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.14.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fcd4f7c4a6442f0413e075f607ecdb125c59423b9c00f777ad75ed3ba29393d9
|
|
| MD5 |
f82e7e79e8a025c1a635e571aff5cd52
|
|
| BLAKE2b-256 |
fb59118eba91098a45a68a6cf64de582abfbc5f13ac488111fa34db1d4fded35
|