Compare commits

...

3 Commits

Author SHA1 Message Date
Andre Basche bef55f7abc Fix checks 2024-03-26 00:19:54 +01:00
Andre Basche 79cabfd7b2 Bump version 2024-03-26 00:15:56 +01:00
Andre Basche 1583e6beaa Fix missing update when using same client_id 2024-03-26 00:15:26 +01:00
2 changed files with 29 additions and 5 deletions
+28 -4
View File
@@ -1,5 +1,6 @@
import json import json
import logging import logging
import secrets
from typing import TYPE_CHECKING from typing import TYPE_CHECKING
from awscrt import mqtt5 from awscrt import mqtt5
@@ -28,6 +29,28 @@ def on_lifecycle_connection_success(
) )
def on_lifecycle_attempting_connect(
lifecycle_attempting_connect_data: mqtt5.LifecycleAttemptingConnectData,
) -> None:
_LOGGER.info(
"Lifecycle Attempting Connect - %s", str(lifecycle_attempting_connect_data)
)
def on_lifecycle_connection_failure(
lifecycle_connection_failure_data: mqtt5.LifecycleConnectFailureData,
) -> None:
_LOGGER.info(
"Lifecycle Connection Failure - %s", str(lifecycle_connection_failure_data)
)
def on_lifecycle_disconnection(
lifecycle_disconnect_data: mqtt5.LifecycleDisconnectData,
) -> None:
_LOGGER.info("Lifecycle Disconnection - %s", str(lifecycle_disconnect_data))
def on_publish_received(data: mqtt5.PublishReceivedData) -> None: def on_publish_received(data: mqtt5.PublishReceivedData) -> None:
if not (data and data.publish_packet and data.publish_packet.payload): if not (data and data.publish_packet and data.publish_packet.payload):
return return
@@ -40,9 +63,7 @@ def on_publish_received(data: mqtt5.PublishReceivedData) -> None:
for parameter in payload["parameters"]: for parameter in payload["parameters"]:
appliance.attributes["parameters"][parameter["parName"]].update(parameter) appliance.attributes["parameters"][parameter["parName"]].update(parameter)
appliance.notify() appliance.notify()
_LOGGER.debug("%s - %s", topic, payload) _LOGGER.info("%s - %s", topic, payload)
else:
_LOGGER.debug("%s - %s", topic, payload)
async def create_mqtt_client(api: "HonAPI") -> mqtt5.Client: async def create_mqtt_client(api: "HonAPI") -> mqtt5.Client:
@@ -52,9 +73,12 @@ async def create_mqtt_client(api: "HonAPI") -> mqtt5.Client:
auth_authorizer_signature=await api.load_aws_token(), auth_authorizer_signature=await api.load_aws_token(),
auth_token_key_name="token", auth_token_key_name="token",
auth_token_value=api.auth.id_token, auth_token_value=api.auth.id_token,
client_id=const.MOBILE_ID, client_id=f"{const.MOBILE_ID}_{secrets.token_hex(8)}",
on_lifecycle_stopped=on_lifecycle_stopped, on_lifecycle_stopped=on_lifecycle_stopped,
on_lifecycle_connection_success=on_lifecycle_connection_success, on_lifecycle_connection_success=on_lifecycle_connection_success,
on_lifecycle_attempting_connect=on_lifecycle_attempting_connect,
on_lifecycle_connection_failure=on_lifecycle_connection_failure,
on_lifecycle_disconnection=on_lifecycle_disconnection,
on_publish_received=on_publish_received, on_publish_received=on_publish_received,
) )
client.start() client.start()
+1 -1
View File
@@ -7,7 +7,7 @@ with open("README.md", "r", encoding="utf-8") as f:
setup( setup(
name="pyhOn", name="pyhOn",
version="0.17.0", version="0.17.1",
author="Andre Basche", author="Andre Basche",
description="Control hOn devices with python", description="Control hOn devices with python",
long_description=long_description, long_description=long_description,