Skip to content

Commit aaa4685

Browse files
committed
implement key handling
1 parent d818aa3 commit aaa4685

4 files changed

Lines changed: 22 additions & 3 deletions

File tree

packages/helpermodules/setdata.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1005,7 +1005,8 @@ def process_system_topic(self, msg: mqtt.MQTTMessage):
10051005
elif "openWB/set/system/debug_level" in msg.topic:
10061006
self._validate_value(msg, int, [(10, 10), (20, 20), (30, 30)])
10071007
elif ("openWB/set/system/ip_address" in msg.topic or
1008-
"openWB/set/system/release_train" in msg.topic):
1008+
"openWB/set/system/release_train" in msg.topic or
1009+
"openWB/set/system/backup_password" in msg.topic):
10091010
self._validate_value(msg, str)
10101011
elif "openWB/set/system/mqtt/bridge/" in msg.topic:
10111012
self._validate_value(msg, "json")

packages/helpermodules/subdata.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -870,6 +870,19 @@ def process_system_topic(self, client: mqtt.Client, var: dict, msg: mqtt.MQTTMes
870870
user = splitted[2] if len(splitted) > 2 else "getsupport"
871871
run_command([str(Path(__file__).resolve().parents[2] / "runs" / "start_remote_support.sh"),
872872
token, port, user], process_exception=True)
873+
elif "openWB/system/backup_password" in msg.topic:
874+
if self.event_subdata_initialized.is_set():
875+
password = decode_payload(msg.payload)
876+
# delete password file if length = 0 and file exists
877+
if password is None or password == "":
878+
if Path("/home/openwb/backup.key").exists():
879+
Path("/home/openwb/backup.key").unlink()
880+
log.warning("Backup-Kennwortdatei gelöscht.")
881+
else:
882+
# write password to file
883+
with open("/home/openwb/backup.key", "w", encoding="utf-8") as f:
884+
f.write(password)
885+
log.warning("Backup-Kennwortdatei geschrieben.")
873886
elif "openWB/system/backup_cloud/config" in msg.topic:
874887
config_dict = decode_payload(msg.payload)
875888
if config_dict["type"] is None:

packages/helpermodules/update_config.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -467,6 +467,7 @@ class UpdateConfig:
467467
"^openWB/system/backup_cloud/config$",
468468
"^openWB/system/boot_done$",
469469
"^openWB/system/configurable/backup_clouds$",
470+
"^openWB/system/backup_password$",
470471
"^openWB/system/backup_cloud/backup_before_update$",
471472
"^openWB/system/configurable/chargepoints$",
472473
"^openWB/system/configurable/chargepoints_internal$",
@@ -526,8 +527,8 @@ class UpdateConfig:
526527
("openWB/vehicle/0/ev_template", ev.Ev(0).ev_template.data.id),
527528
("openWB/vehicle/0/tag_id", ev.Ev(0).data.tag_id),
528529
("openWB/vehicle/0/get/soc", ev.Ev(0).data.get.soc),
529-
("openWB/vehicle/template/ev_template/0", asdict(EvTemplateData(name="Standard-Fahrzeug-Profil",
530-
min_current=10))),
530+
("openWB/vehicle/template/ev_template/0",
531+
asdict(EvTemplateData(name="Standard-Fahrzeug-Profil", min_current=10))),
531532
("openWB/vehicle/template/charge_template/0", get_charge_template_default()),
532533
("openWB/general/charge_log_data_config", get_default_charge_log_columns()),
533534
("openWB/general/chargemode_config/pv_charging/bat_mode", BatConsiderationMode.EV_MODE.value),
@@ -582,6 +583,7 @@ class UpdateConfig:
582583
("openWB/optional/monitoring/config", NO_MODULE),
583584
("openWB/optional/ocpp/config", dataclass_utils.asdict(Ocpp())),
584585
("openWB/optional/rfid/active", False),
586+
("openWB/system/backup_password", None),
585587
("openWB/system/backup_cloud/config", NO_MODULE),
586588
("openWB/system/backup_cloud/backup_before_update", True),
587589
("openWB/system/installAssistantDone", False),

runs/factory_reset.sh

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
#!/bin/bash
22
OPENWBBASEDIR=$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)
3+
OPENWBHOMEDIR="/home/openwb"
34

45
if (( $(id -u) != 0 )); then
56
echo "this script has to be run as root or with sudo"
@@ -27,6 +28,8 @@ case "$1" in
2728
timeout 3 mosquitto_sub -t '#' --remove-retained --retained-only -p 1886
2829
echo "deleting log data"
2930
rm -r "$OPENWBBASEDIR/data/charge_log/"* "$OPENWBBASEDIR/data/daily_log/"* "$OPENWBBASEDIR/data/log/"*.log "$OPENWBBASEDIR/data/monthly_log/"*
31+
echo "deleting backup key if set"
32+
rm -f "$OPENWBHOMEDIR/backup.key"
3033
echo "reset display rotation"
3134
sudo sed -i "s/^lcd_rotate=[0-3]$/lcd_rotate=0/" "/boot/config.txt"
3235
if [ -n "$cloud_bridge" ]; then

0 commit comments

Comments
 (0)