mirror of
https://github.com/Dielee/volvo2mqtt.git
synced 2026-08-11 10:19:54 +02:00
Bump version
This commit is contained in:
+13
-4
@@ -70,10 +70,10 @@ def on_message(client, userdata, msg):
|
|||||||
elif "lock_status" in msg.topic:
|
elif "lock_status" in msg.topic:
|
||||||
if payload == "LOCK":
|
if payload == "LOCK":
|
||||||
volvo.api_call(CAR_LOCK_URL, "POST", vin)
|
volvo.api_call(CAR_LOCK_URL, "POST", vin)
|
||||||
update_car_data(True)
|
update_car_data(True, {"entity_id": "lock_status", "state": "LOCKED"})
|
||||||
elif payload == "UNLOCK":
|
elif payload == "UNLOCK":
|
||||||
volvo.api_call(CAR_UNLOCK_URL, "POST", vin)
|
volvo.api_call(CAR_UNLOCK_URL, "POST", vin)
|
||||||
update_car_data(True)
|
update_car_data(True, {"entity_id": "lock_status", "state": "UNLOCKED"})
|
||||||
elif "update_data" in msg.topic:
|
elif "update_data" in msg.topic:
|
||||||
if payload == "PRESS":
|
if payload == "PRESS":
|
||||||
update_car_data(True)
|
update_car_data(True)
|
||||||
@@ -88,7 +88,7 @@ def update_loop():
|
|||||||
time.sleep(settings["updateInterval"])
|
time.sleep(settings["updateInterval"])
|
||||||
|
|
||||||
|
|
||||||
def update_car_data(force_update=False):
|
def update_car_data(force_update=False, overwrite={}):
|
||||||
global last_data_update
|
global last_data_update
|
||||||
last_data_update = format_datetime(datetime.now(), format="medium", locale=settings["babelLocale"])
|
last_data_update = format_datetime(datetime.now(), format="medium", locale=settings["babelLocale"])
|
||||||
for vin in volvo.vins:
|
for vin in volvo.vins:
|
||||||
@@ -96,12 +96,21 @@ def update_car_data(force_update=False):
|
|||||||
if entity["domain"] == "button":
|
if entity["domain"] == "button":
|
||||||
continue
|
continue
|
||||||
|
|
||||||
|
ov_entity_id = ""
|
||||||
|
ov_state = ""
|
||||||
|
if bool(overwrite):
|
||||||
|
ov_entity_id = overwrite["entity_id"]
|
||||||
|
ov_state = overwrite["state"]
|
||||||
|
|
||||||
if entity["id"] == "climate_status":
|
if entity["id"] == "climate_status":
|
||||||
state = assumed_climate_state[vin]
|
state = assumed_climate_state[vin]
|
||||||
elif entity["id"] == "last_data_update":
|
elif entity["id"] == "last_data_update":
|
||||||
state = last_data_update
|
state = last_data_update
|
||||||
else:
|
else:
|
||||||
state = volvo.api_call(entity["url"], "GET", vin, entity["id"], force_update)
|
if entity["id"] == ov_entity_id:
|
||||||
|
state = ov_state
|
||||||
|
else:
|
||||||
|
state = volvo.api_call(entity["url"], "GET", vin, entity["id"], force_update)
|
||||||
|
|
||||||
if entity["domain"] == "device_tracker":
|
if entity["domain"] == "device_tracker":
|
||||||
topic = f"homeassistant/{entity['domain']}/{vin}_{entity['id']}/attributes"
|
topic = f"homeassistant/{entity['domain']}/{vin}_{entity['id']}/attributes"
|
||||||
|
|||||||
Reference in New Issue
Block a user