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

View File

@ -1,5 +1,6 @@
import json
import logging
import secrets
from typing import TYPE_CHECKING
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:
if not (data and data.publish_packet and data.publish_packet.payload):
return
@ -40,9 +63,7 @@ def on_publish_received(data: mqtt5.PublishReceivedData) -> None:
for parameter in payload["parameters"]:
appliance.attributes["parameters"][parameter["parName"]].update(parameter)
appliance.notify()
_LOGGER.debug("%s - %s", topic, payload)
else:
_LOGGER.debug("%s - %s", topic, payload)
_LOGGER.info("%s - %s", topic, payload)
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_token_key_name="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_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,
)
client.start()

View File

@ -7,7 +7,7 @@ with open("README.md", "r", encoding="utf-8") as f:
setup(
name="pyhOn",
version="0.17.0",
version="0.17.1",
author="Andre Basche",
description="Control hOn devices with python",
long_description=long_description,