pysaleryd package
Subpackages
Submodules
pysaleryd.client module
HRV System client
- class pysaleryd.client.Client(ip: str, port: int = 3001, update_interval=30, connect_timeout=15)[source]
Bases:
object
Client to manage communication with HRV
- add_data_handler(handler: Callable[[dict[DataKey, str]], None])[source]
Add data handler to be called at update interval
- add_state_change_handler(handler: Callable[[State], None])[source]
Add state change handler to be called when client state changes
- Parameters:
handler (Callable[[str], None]) – handler to be added
- property data
Get data from system if connection is alive
- remove_state_change_handler(handler: Callable[[State], None])[source]
Remove state change handler
- Parameters:
handler (Callable[[str], None]) – handler to be removed
- async send_command(key: MessageType, payload: str | int)[source]
Send command to HRV unit
- Parameters:
key (MessageType) – message type key
payload – payload
- property state
State of the underlying websocket connection
pysaleryd.const module
Constants
- class pysaleryd.const.DataKey(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)[source]
Bases:
StrEnum
Data key enumerator
- AIR_TEMPERATURE_AT_HEATER = '*TK'
- AIR_TEMPERATURE_SUPPLY = '*TC'
- CONTROL_SYSTEM_STATE = 'MP'
- CONTROL_SYSTEM_VERSION = '*SC'
- COOLING_MODE = 'MK'
- ERROR_FRAME_END = '*EZ'
- ERROR_FRAME_START = '*EA'
- ERROR_MESSAGE = '*EB'
- FAN_SPEED_EXHAUST = '*DB'
- FAN_SPEED_SUPPLY = '*DA'
- FILTER_MONTHS_LEFT = '*FL'
- FIREPLACE_MODE = 'MB'
- HEATER_POWER_PERCENT = '*MJ'
- HEAT_EXCHANGER_ROTOR_PERCENT = '*XA'
- HEAT_EXCHANGER_ROTOR_RPM = '*XB'
- INSTALLER_EMAIL = 'IB'
- INSTALLER_NAME = 'IA'
- INSTALLER_PASSWORD = 'IP'
- INSTALLER_PHONE = 'IC'
- INSTALLER_WEBSITE = 'IE'
- MINUTES_LEFT_BOOST_MODE = '*FI'
- MINUTES_LEFT_FIREPLACE_MODE = '*ME'
- MODEL_NAME = '*SB'
- MODE_FAN = 'MF'
- MODE_HEATER = 'MH'
- MODE_HEATER_POWER_RATING = 'MG'
- MODE_TEMPERATURE = 'MT'
- PRODUCT_NUMBER = '*SA'
- TARGET_TEMPERATURE_COOL = 'TF'
- TARGET_TEMPERATURE_ECONOMY = 'TE'
- TARGET_TEMPERATURE_NORMAL = 'TD'
pysaleryd.data module
Utils
- class pysaleryd.data.ErrorSystemProperty(key: DataKey, value: list[str] | None = None)[source]
Bases:
BaseSystemProperty
HRV System error property
- class pysaleryd.data.IncomingMessage[source]
Bases:
object
Incoming message from system
- static from_str(msg: str) tuple[DataKey, str, MessageType] [source]
Parse message string
- Parameters:
msg (str) – raw message
- Raises:
ParseError – if parsing fails
- Returns:
parsed message key and value
- Return type:
(key, value, message_type)
- class pysaleryd.data.OutgoingMessage(key: DataKey, value: str)[source]
Bases:
object
Outgoing message to system
- exception pysaleryd.data.ParseError[source]
Bases:
BaseException
Parse error. Raised when message parsing fails