Merge pull request #179 from flobz/develop

Develop
This commit is contained in:
Florian BEZANNIER
2021-07-11 00:21:54 +02:00
committed by GitHub
3 changed files with 23 additions and 10 deletions
+5 -1
View File
@@ -1,5 +1,6 @@
from mylogger import logger
from psa_connectedcar import Position, Geometry, PositionProperties, Kinetic, Energy, EnergyCharging, Status
from psa_connectedcar import Position, Geometry, PositionProperties, Kinetic, Energy, EnergyCharging, Status, \
VehicleOdometer
# pylint: disable=too-many-arguments
@@ -27,6 +28,9 @@ class CarStatus(Status):
if len(self._energy) == 2 and self._energy[0].type != 'Electric':
self._energy = self._energy[::-1]
if self.timed_odometer is None:
self.timed_odometer = VehicleOdometer()
def is_moving(self):
try:
return self.kinetic.moving
+12 -8
View File
@@ -163,12 +163,15 @@ class MyPSACC:
def __refresh_vehicle_info(self):
if self.info_refresh_rate is not None:
while True:
sleep(self.info_refresh_rate)
logger.debug("refresh_vehicle_info")
for car in self.vehicles_list:
self.get_vehicle_info(car.vin)
for callback in self.info_callback:
callback()
try:
sleep(self.info_refresh_rate)
logger.debug("refresh_vehicle_info")
for car in self.vehicles_list:
self.get_vehicle_info(car.vin)
for callback in self.info_callback:
callback()
except: # pylint: disable=bare-except
logger.exception("refresh_vehicle_info: ")
def start_refresh_thread(self):
if self.refresh_thread is None:
@@ -270,7 +273,7 @@ class MyPSACC:
def __get_mqtt_customer_id(self):
brand_code = self.customer_id[:2]
return MQTT_BRANDCODE[brand_code]+self.customer_id[2:]
return MQTT_BRANDCODE[brand_code] + self.customer_id[2:]
# pylint: disable=unused-argument
def __on_mqtt_connect(self, client, userdata, result_code, _):
@@ -395,6 +398,7 @@ class MyPSACC:
logger.info("ask wakeup to %s", vin)
msg = self.mqtt_request(vin, {"action": "state"})
logger.info(msg)
self.mqtt_client.publish(MQTT_REQ_TOPIC + self.__get_mqtt_customer_id() + "/VehCharge/state", msg)
return True
def lock_door(self, vin, lock: bool):
@@ -437,7 +441,7 @@ class MyPSACC:
f.write(config_str)
self._config_hash = new_hash
logger.info("save config change")
# disconnect
@staticmethod
def load_config(name="config.json"):
with open(name, "r") as f:
+6 -1
View File
@@ -1,5 +1,6 @@
import json
from datetime import datetime
from json import JSONDecodeError
import requests
@@ -40,7 +41,11 @@ class Abrp:
response = requests.request("POST", self.url, params=params, proxies=self.proxies,
verify=self.proxies is None)
logger.debug(response.text)
return response.json()["status"] == "ok"
try:
return response.json()["status"] == "ok"
except (JSONDecodeError, KeyError):
logger.error("Bad response from ABRP API: %s", response.text)
return False
except (AttributeError, IndexError, ValueError):
logger.exception("abrp:")
return False