Skip to content
This repository has been archived by the owner on Jan 2, 2025. It is now read-only.

Commit

Permalink
Fix unlockstate for multiple car usage
Browse files Browse the repository at this point in the history
  • Loading branch information
Dielee committed Jun 25, 2023
1 parent 50b5eb9 commit 71b8c59
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 5 deletions.
2 changes: 1 addition & 1 deletion src/config.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name: "Volvo2Mqtt"
description: "Volvo AAOS MQTT bridge"
version: "1.4.3"
version: "1.4.4"
slug: "volvo2mqtt"
init: false
url: "https://github.com/Dielee/volvo2mqtt"
Expand Down
2 changes: 1 addition & 1 deletion src/const.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
from config import settings

VERSION = "v1.4.3"
VERSION = "v1.4.4"

OAUTH_URL = "https://volvoid.eu.volvocars.com/as/token.oauth2"
VEHICLES_URL = "https://api.volvocars.com/connected-vehicle/v1/vehicles"
Expand Down
8 changes: 5 additions & 3 deletions src/mqtt.py
Original file line number Diff line number Diff line change
Expand Up @@ -79,10 +79,10 @@ def on_message(client, userdata, msg):
elif "lock_status" in msg.topic:
if payload == "LOCK":
volvo.api_call(CAR_LOCK_URL, "POST", vin)
update_car_data(True, {"entity_id": "lock_status", "state": "LOCKED"})
update_car_data(True, {"entity_id": "lock_status", "vin": vin, "state": "LOCKED"})
elif payload == "UNLOCK":
volvo.api_call(CAR_UNLOCK_URL, "POST", vin)
update_car_data(True, {"entity_id": "lock_status", "state": "UNLOCKED"})
update_car_data(True, {"entity_id": "lock_status", "vin": vin, "state": "UNLOCKED"})
elif "update_data" in msg.topic:
if payload == "PRESS":
update_car_data(True)
Expand All @@ -106,17 +106,19 @@ def update_car_data(force_update=False, overwrite={}):
continue

ov_entity_id = ""
ov_vin = ""
ov_state = ""
if bool(overwrite):
ov_entity_id = overwrite["entity_id"]
ov_vin = overwrite["vin"]
ov_state = overwrite["state"]

if entity["id"] == "climate_status":
state = assumed_climate_state[vin]
elif entity["id"] == "last_data_update":
state = last_data_update
else:
if entity["id"] == ov_entity_id:
if entity["id"] == ov_entity_id and vin == ov_vin:
state = ov_state
else:
state = volvo.api_call(entity["url"], "GET", vin, entity["id"], force_update)
Expand Down

0 comments on commit 71b8c59

Please sign in to comment.