From 56a871b30ef3b9e6be866ee4b4ab706db33222b4 Mon Sep 17 00:00:00 2001 From: Lutz Bender Date: Wed, 12 Nov 2025 07:46:41 +0100 Subject: [PATCH 1/2] process backup password --- packages/helpermodules/setdata.py | 3 ++- packages/helpermodules/subdata.py | 12 ++++++++++++ packages/helpermodules/update_config.py | 2 ++ 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/packages/helpermodules/setdata.py b/packages/helpermodules/setdata.py index f631d09901..2c3fdd573e 100644 --- a/packages/helpermodules/setdata.py +++ b/packages/helpermodules/setdata.py @@ -1020,7 +1020,8 @@ def process_system_topic(self, msg: mqtt.MQTTMessage): "openWB/set/system/usage_terms_acknowledged" in msg.topic or "openWB/set/system/update_config_completed" in msg.topic): self._validate_value(msg, bool) - elif "openWB/set/system/version" in msg.topic: + elif ("openWB/set/system/version" in msg.topic or + "openWB/set/system/backup_password" in msg.topic): self._validate_value(msg, str) elif "openWB/set/system/time" in msg.topic: self._validate_value(msg, float) diff --git a/packages/helpermodules/subdata.py b/packages/helpermodules/subdata.py index fa8a47c862..ae4e23bb87 100644 --- a/packages/helpermodules/subdata.py +++ b/packages/helpermodules/subdata.py @@ -887,6 +887,18 @@ def process_system_topic(self, client: mqtt.Client, var: dict, msg: mqtt.MQTTMes user = splitted[2] if len(splitted) > 2 else "getsupport" run_command([str(Path(__file__).resolve().parents[2] / "runs" / "start_remote_support.sh"), token, port, user], process_exception=True) + elif "openWB/system/backup_password" in msg.topic: + if self.event_subdata_initialized.is_set(): + key_file = Path.home() / "backup.key" + payload = decode_payload(msg.payload) + if payload is None or payload == "": + # delete key file + if key_file.exists(): + key_file.unlink() + else: + # write key file + with key_file.open("w") as file: + file.write(payload) elif "openWB/system/backup_cloud/config" in msg.topic: config_dict = decode_payload(msg.payload) if config_dict["type"] is None: diff --git a/packages/helpermodules/update_config.py b/packages/helpermodules/update_config.py index 1e79a285aa..749cfa51ed 100644 --- a/packages/helpermodules/update_config.py +++ b/packages/helpermodules/update_config.py @@ -471,6 +471,7 @@ class UpdateConfig: "^openWB/system/boot_done$", "^openWB/system/configurable/backup_clouds$", "^openWB/system/backup_cloud/backup_before_update$", + "^openWB/system/backup_password$", "^openWB/system/configurable/chargepoints$", "^openWB/system/configurable/chargepoints_internal$", "^openWB/system/configurable/devices_components$", @@ -587,6 +588,7 @@ class UpdateConfig: ("openWB/optional/monitoring/config", NO_MODULE), ("openWB/optional/ocpp/config", dataclass_utils.asdict(Ocpp())), ("openWB/optional/rfid/active", False), + ("openWB/system/backup_password", None), ("openWB/system/backup_cloud/config", NO_MODULE), ("openWB/system/backup_cloud/backup_before_update", True), ("openWB/system/current_branch", None), From 250473254befe36fbb90596563a009d7ecfb5299 Mon Sep 17 00:00:00 2001 From: Lutz Bender Date: Wed, 12 Nov 2025 07:47:01 +0100 Subject: [PATCH 2/2] ignore new file extensions --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 7226376d6d..296f7ced8d 100644 --- a/.gitignore +++ b/.gitignore @@ -15,6 +15,7 @@ data/charge_log/* data/daily_log/* data/monthly_log/* data/backup/*.tar.gz +data/backup/*.openwb-backup* data/restore/*.tar.gz data/data_migration/*.tar.gz ramdisk/*