forked from peter/volvo2mqtt
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
bf6568d945 | ||
|
|
f8b6f9cf53 | ||
|
|
7c32ca59be | ||
|
|
67948b0900 | ||
|
|
48663d2e0d |
@@ -1,3 +1,15 @@
|
|||||||
|
## v1.13.5
|
||||||
|
|
||||||
|
### 🐛 Bug Fixes:
|
||||||
|
|
||||||
|
- Add build.yaml for homeassistant version > 2026.04.X
|
||||||
|
|
||||||
|
## v1.13.4
|
||||||
|
|
||||||
|
### 🐛 Bug Fixes:
|
||||||
|
|
||||||
|
- Fix `AttributeError: module 'paho.mqtt.client' has no attribute 'CallbackAPIVersion'` when paho-mqtt < 2.0 is installed
|
||||||
|
|
||||||
## v1.13.3
|
## v1.13.3
|
||||||
|
|
||||||
### 🐛 Bug Fixes:
|
### 🐛 Bug Fixes:
|
||||||
|
|||||||
@@ -0,0 +1,6 @@
|
|||||||
|
build_from:
|
||||||
|
amd64: ghcr.io/home-assistant/base-python:latest
|
||||||
|
aarch64: ghcr.io/home-assistant/base-python:latest
|
||||||
|
armv7: ghcr.io/home-assistant/base-python:latest
|
||||||
|
armhf: ghcr.io/home-assistant/base-python:latest
|
||||||
|
i386: ghcr.io/home-assistant/base-python:latest
|
||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
name: "Volvo2Mqtt"
|
name: "Volvo2Mqtt"
|
||||||
description: "Volvo AAOS MQTT bridge"
|
description: "Volvo AAOS MQTT bridge"
|
||||||
version: "1.13.3"
|
version: "1.13.5"
|
||||||
slug: "volvo2mqtt"
|
slug: "volvo2mqtt"
|
||||||
init: false
|
init: false
|
||||||
url: "https://github.com/Dielee/volvo2mqtt"
|
url: "https://github.com/Dielee/volvo2mqtt"
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
from config import settings
|
from config import settings
|
||||||
|
|
||||||
VERSION = "v1.13.3"
|
VERSION = "v1.13.5"
|
||||||
|
|
||||||
OAUTH_TOKEN_URL = "https://volvoid.eu.volvocars.com/as/token.oauth2"
|
OAUTH_TOKEN_URL = "https://volvoid.eu.volvocars.com/as/token.oauth2"
|
||||||
OAUTH_AUTH_URL = "https://volvoid.eu.volvocars.com/as/authorization.oauth2"
|
OAUTH_AUTH_URL = "https://volvoid.eu.volvocars.com/as/authorization.oauth2"
|
||||||
|
|||||||
+13
-5
@@ -25,9 +25,13 @@ active_schedules = {}
|
|||||||
otp_code = None
|
otp_code = None
|
||||||
|
|
||||||
def connect():
|
def connect():
|
||||||
client = mqtt.Client(mqtt.CallbackAPIVersion.VERSION1, "volvoAAOS2mqtt") \
|
client_id = "volvoAAOS2mqtt" if os.environ.get("IS_HA_ADDON") \
|
||||||
if os.environ.get("IS_HA_ADDON") \
|
else "volvoAAOS2mqtt_" + settings.volvoData["username"].replace("+", "")
|
||||||
else mqtt.Client(mqtt.CallbackAPIVersion.VERSION1, "volvoAAOS2mqtt_" + settings.volvoData["username"].replace("+", ""))
|
try:
|
||||||
|
client = mqtt.Client(mqtt.CallbackAPIVersion.VERSION1, client_id, clean_session=False)
|
||||||
|
except AttributeError:
|
||||||
|
# paho-mqtt < 2.0 does not have CallbackAPIVersion
|
||||||
|
client = mqtt.Client(client_id)
|
||||||
|
|
||||||
if "logging" in settings["mqtt"] and settings["mqtt"]["logging"]:
|
if "logging" in settings["mqtt"] and settings["mqtt"]["logging"]:
|
||||||
mqtt_logger = logging.getLogger("mqtt")
|
mqtt_logger = logging.getLogger("mqtt")
|
||||||
@@ -36,6 +40,7 @@ def connect():
|
|||||||
client.on_message = safe_on_message
|
client.on_message = safe_on_message
|
||||||
client.on_disconnect = on_disconnect
|
client.on_disconnect = on_disconnect
|
||||||
client.on_connect = on_connect
|
client.on_connect = on_connect
|
||||||
|
client.reconnect_delay_set(min_delay=1, max_delay=30)
|
||||||
|
|
||||||
client.will_set(availability_topic, "offline", 0, False)
|
client.will_set(availability_topic, "offline", 0, False)
|
||||||
if settings["mqtt"]["username"] and settings["mqtt"]["password"]:
|
if settings["mqtt"]["username"] and settings["mqtt"]["password"]:
|
||||||
@@ -46,10 +51,9 @@ def connect():
|
|||||||
if isinstance(conf_port, int):
|
if isinstance(conf_port, int):
|
||||||
if conf_port > 0:
|
if conf_port > 0:
|
||||||
port = settings["mqtt"]["port"]
|
port = settings["mqtt"]["port"]
|
||||||
client.connect(settings["mqtt"]["broker"], port)
|
client.connect(settings["mqtt"]["broker"], port, 120)
|
||||||
|
|
||||||
client.loop_start()
|
client.loop_start()
|
||||||
client.subscribe("volvoAAOS2mqtt/otp_code")
|
|
||||||
|
|
||||||
global mqtt_client
|
global mqtt_client
|
||||||
mqtt_client = client
|
mqtt_client = client
|
||||||
@@ -141,6 +145,7 @@ def on_connect(client, userdata, flags, rc):
|
|||||||
logging.info("MQTT connected")
|
logging.info("MQTT connected")
|
||||||
|
|
||||||
send_heartbeat()
|
send_heartbeat()
|
||||||
|
mqtt_client.subscribe("volvoAAOS2mqtt/otp_code")
|
||||||
if len(subscribed_topics) > 0:
|
if len(subscribed_topics) > 0:
|
||||||
for topic in subscribed_topics:
|
for topic in subscribed_topics:
|
||||||
mqtt_client.subscribe(topic)
|
mqtt_client.subscribe(topic)
|
||||||
@@ -435,6 +440,7 @@ def update_ha_device(entity, vin, state):
|
|||||||
mqtt_client.publish(
|
mqtt_client.publish(
|
||||||
f"homeassistant/{entity['domain']}/volvoAAOS2mqtt/{vin}_{entity['id']}/config",
|
f"homeassistant/{entity['domain']}/volvoAAOS2mqtt/{vin}_{entity['id']}/config",
|
||||||
json.dumps(config),
|
json.dumps(config),
|
||||||
|
qos=1,
|
||||||
retain=True
|
retain=True
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -485,8 +491,10 @@ def create_ha_devices():
|
|||||||
mqtt_client.publish(
|
mqtt_client.publish(
|
||||||
f"homeassistant/{entity['domain']}/volvoAAOS2mqtt/{vin}_{entity['id']}/config",
|
f"homeassistant/{entity['domain']}/volvoAAOS2mqtt/{vin}_{entity['id']}/config",
|
||||||
json.dumps(config),
|
json.dumps(config),
|
||||||
|
qos=1,
|
||||||
retain=True
|
retain=True
|
||||||
)
|
)
|
||||||
|
time.sleep(0.05)
|
||||||
time.sleep(2)
|
time.sleep(2)
|
||||||
send_heartbeat()
|
send_heartbeat()
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user