diff --git a/CHANGELOG.md b/CHANGELOG.md index 36073b1..8d8db23 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,8 @@ ### New Features +- feat: Specify which SW update is available (#21) + ### Enhancements - ci: use Environment File instead of deprecated set-output diff --git a/src/teslamte_telegram_bot.py b/src/teslamte_telegram_bot.py index 7ddeed5..071d77a 100644 --- a/src/teslamte_telegram_bot.py +++ b/src/teslamte_telegram_bot.py @@ -25,6 +25,7 @@ # MQTT topics teslamate_topic_update_available = f"teslamate/cars/{car_id}/update_available" +teslamate_topic_update_version =f"teslamate/cars/{car_id}/update_version" ######################################################################################## @@ -60,18 +61,24 @@ def on_connect(client, userdata, flags, reason_code): # reconnect then subscriptions will be renewed. client.subscribe(teslamate_topic_update_available) +update_version = 'unknown' def on_message(client, userdata, msg): """ The callback for when a PUBLISH message is received from the server.""" + global update_version print(msg.topic+" "+str(msg.payload)) - if msg.payload.decode() == "true": - print("A new SW update for your Tesla is available!") - bot.send_message( - chat_id, - # text=""+"SW Update"+"\n"+"A new SW update for your Tesla is available!\n\n"+msg.topic+"\n"+str(msg.payload.decode()), - text=""+"SW Update"+"\n"+"A new SW update for your Tesla is available!", - parse_mode=ParseMode.HTML, - ) + if msg.topic == teslamate_topic_update_version: + update_version = msg.payload.decode() + print(f"Update to version {update_version} available.") + + if msg.topic == teslamate_topic_update_available: + if msg.payload.decode() == "true": + print(f"A new SW update to version: {update_version} for your Tesla is available!") + bot.send_message( + chat_id, + text=""+"SW Update"+"\n"+"A new SW update to version: "+ update_version + " for your Tesla is available!", + parse_mode=ParseMode.HTML, + ) def setup_mqtt_client(): """ Setup the MQTT client """