mirror of
https://github.com/Dielee/volvo2mqtt.git
synced 2026-08-12 18:59:53 +02:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e5ece2116b | ||
|
|
23246a464f | ||
|
|
1a5cc3db7a | ||
|
|
974ad0e454 |
@@ -1,3 +1,23 @@
|
|||||||
|
## v1.8.6
|
||||||
|
### 🚀 Features:
|
||||||
|
|
||||||
|
- Add option to use multiple docker containers (with different logins) #93
|
||||||
|
|
||||||
|
## v1.8.5
|
||||||
|
### 🚀 Features:
|
||||||
|
|
||||||
|
- Allow phone number as username #91
|
||||||
|
|
||||||
|
## v1.8.4
|
||||||
|
### 🚀 Features:
|
||||||
|
|
||||||
|
- Optimize Addon configuration #90
|
||||||
|
|
||||||
|
## v1.8.3
|
||||||
|
### 🚀 Features:
|
||||||
|
|
||||||
|
- Add `device_class: battery` for battery state sensors from BEV and PHEV
|
||||||
|
|
||||||
## v1.8.2
|
## v1.8.2
|
||||||
### 🚀 Features:
|
### 🚀 Features:
|
||||||
|
|
||||||
|
|||||||
+6
-5
@@ -1,6 +1,6 @@
|
|||||||
name: "Volvo2Mqtt"
|
name: "Volvo2Mqtt"
|
||||||
description: "Volvo AAOS MQTT bridge"
|
description: "Volvo AAOS MQTT bridge"
|
||||||
version: "1.8.2"
|
version: "1.8.6"
|
||||||
slug: "volvo2mqtt"
|
slug: "volvo2mqtt"
|
||||||
init: false
|
init: false
|
||||||
url: "https://github.com/Dielee/volvo2mqtt"
|
url: "https://github.com/Dielee/volvo2mqtt"
|
||||||
@@ -24,14 +24,15 @@ options:
|
|||||||
username: null
|
username: null
|
||||||
password: null
|
password: null
|
||||||
vin: ""
|
vin: ""
|
||||||
vccapikey: null
|
vccapikey:
|
||||||
|
- null
|
||||||
odometerMultiplier: 1
|
odometerMultiplier: 1
|
||||||
averageSpeedDivider: 1
|
averageSpeedDivider: 1
|
||||||
averageFuelConsumptionMultiplier: 1
|
averageFuelConsumptionMultiplier: 1
|
||||||
schema:
|
schema:
|
||||||
updateInterval: int(60,)
|
updateInterval: int(60,)
|
||||||
babelLocale: str
|
babelLocale: str
|
||||||
TZ: str
|
TZ: match(^.+/.+$)
|
||||||
debug: bool
|
debug: bool
|
||||||
mqtt:
|
mqtt:
|
||||||
broker: str
|
broker: str
|
||||||
@@ -39,11 +40,11 @@ schema:
|
|||||||
username: str?
|
username: str?
|
||||||
password: str?
|
password: str?
|
||||||
volvoData:
|
volvoData:
|
||||||
username: str
|
username: match(^([\w+\.]+@([\w-]+\.)+[\w-]{2,4})|(\+\d{5,20})$)
|
||||||
password: str
|
password: str
|
||||||
vin: str?
|
vin: str?
|
||||||
vccapikey:
|
vccapikey:
|
||||||
- str
|
- match(^\b\w{32}\b$)
|
||||||
odometerMultiplier: int(1,)
|
odometerMultiplier: int(1,)
|
||||||
averageSpeedDivider: int(1,)
|
averageSpeedDivider: int(1,)
|
||||||
averageFuelConsumptionMultiplier: int(1,)
|
averageFuelConsumptionMultiplier: int(1,)
|
||||||
|
|||||||
+3
-3
@@ -1,6 +1,6 @@
|
|||||||
from config import settings
|
from config import settings
|
||||||
|
|
||||||
VERSION = "v1.8.2"
|
VERSION = "v1.8.6"
|
||||||
|
|
||||||
OAUTH_URL = "https://volvoid.eu.volvocars.com/as/token.oauth2"
|
OAUTH_URL = "https://volvoid.eu.volvocars.com/as/token.oauth2"
|
||||||
VEHICLES_URL = "https://api.volvocars.com/connected-vehicle/v1/vehicles"
|
VEHICLES_URL = "https://api.volvocars.com/connected-vehicle/v1/vehicles"
|
||||||
@@ -77,8 +77,8 @@ icon_states = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
supported_entities = [
|
supported_entities = [
|
||||||
{"name": "Battery Charge Level", "domain": "sensor", "id": "battery_charge_level", "unit": "%", "icon": "car-battery", "url": RECHARGE_STATE_URL, "state_class": "measurement"},
|
{"name": "Battery Charge Level", "domain": "sensor", "device_class": "battery", "id": "battery_charge_level", "unit": "%", "icon": "car-battery", "url": RECHARGE_STATE_URL, "state_class": "measurement"},
|
||||||
{"name": "Battery Charge Level", "domain": "sensor", "id": "battery_charge_level", "unit": "%", "icon": "car-battery", "url": BATTERY_CHARGE_STATE_URL, "state_class": "measurement"},
|
{"name": "Battery Charge Level", "domain": "sensor", "device_class": "battery", "id": "battery_charge_level", "unit": "%", "icon": "car-battery", "url": BATTERY_CHARGE_STATE_URL, "state_class": "measurement"},
|
||||||
{"name": "Electric Range", "domain": "sensor", "id": "electric_range", "unit": "km" if not units.get(settings["babelLocale"]) else units[settings["babelLocale"]]["electric_range"]["unit"], "icon": "map-marker-distance", "url": RECHARGE_STATE_URL, "state_class": "measurement"},
|
{"name": "Electric Range", "domain": "sensor", "id": "electric_range", "unit": "km" if not units.get(settings["babelLocale"]) else units[settings["babelLocale"]]["electric_range"]["unit"], "icon": "map-marker-distance", "url": RECHARGE_STATE_URL, "state_class": "measurement"},
|
||||||
{"name": "Estimated Charging Time", "domain": "sensor", "id": "estimated_charging_time", "unit": "minutes", "icon": "timer-sync-outline", "url": RECHARGE_STATE_URL, "state_class": "measurement"},
|
{"name": "Estimated Charging Time", "domain": "sensor", "id": "estimated_charging_time", "unit": "minutes", "icon": "timer-sync-outline", "url": RECHARGE_STATE_URL, "state_class": "measurement"},
|
||||||
{"name": "Charging System Status", "domain": "sensor", "id": "charging_system_status", "icon": "ev-station", "url": RECHARGE_STATE_URL},
|
{"name": "Charging System Status", "domain": "sensor", "id": "charging_system_status", "icon": "ev-station", "url": RECHARGE_STATE_URL},
|
||||||
|
|||||||
+4
-1
@@ -4,6 +4,7 @@ import paho.mqtt.client as mqtt
|
|||||||
import json
|
import json
|
||||||
import volvo
|
import volvo
|
||||||
import util
|
import util
|
||||||
|
import os
|
||||||
from threading import Thread, Timer
|
from threading import Thread, Timer
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from babel.dates import format_datetime
|
from babel.dates import format_datetime
|
||||||
@@ -23,7 +24,9 @@ active_schedules = {}
|
|||||||
|
|
||||||
|
|
||||||
def connect():
|
def connect():
|
||||||
client = mqtt.Client("volvoAAOS2mqtt")
|
client = mqtt.Client("volvoAAOS2mqtt") if os.environ.get("IS_HA_ADDON") \
|
||||||
|
else mqtt.Client("volvoAAOS2mqtt_" + settings.volvoData["username"])
|
||||||
|
|
||||||
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"]:
|
||||||
client.username_pw_set(settings["mqtt"]["username"], settings["mqtt"]["password"])
|
client.username_pw_set(settings["mqtt"]["username"], settings["mqtt"]["password"])
|
||||||
|
|||||||
Reference in New Issue
Block a user