diff --git a/debian/sensorpajen/DEBIAN/md5sums b/debian/sensorpajen/DEBIAN/md5sums index a05ea3f..4c3efdb 100644 --- a/debian/sensorpajen/DEBIAN/md5sums +++ b/debian/sensorpajen/DEBIAN/md5sums @@ -2,8 +2,8 @@ 0894789523a53bb372980c0906a7d0b5 opt/sensorpajen/requirements.txt 940d73f24eb9f971ce27f9355e3072f3 opt/sensorpajen/scripts/approve-sensors.sh 20eb4f3839b990a530410768897402c0 opt/sensorpajen/src/sensorpajen/__init__.py -1f452c46e42f8dc3751dba6ca68256e9 opt/sensorpajen/src/sensorpajen/approve_sensors.py -8d781ed202be540358a970c2be50f54d opt/sensorpajen/src/sensorpajen/config.py +63d6137fbf2f37c5f394a364da70f611 opt/sensorpajen/src/sensorpajen/approve_sensors.py +f69225e19918cca05351fa2da8fd7618 opt/sensorpajen/src/sensorpajen/config.py 65c63383dde4f0b249b708f854ec75a3 opt/sensorpajen/src/sensorpajen/discovery_manager.py 7604c2bc0a854d6d43ff0f0646386fc5 opt/sensorpajen/src/sensorpajen/main.py 331bf9b314492acc6ce03896367f3cf6 opt/sensorpajen/src/sensorpajen/mqtt_publisher.py diff --git a/debian/sensorpajen/opt/sensorpajen/src/sensorpajen/approve_sensors.py b/debian/sensorpajen/opt/sensorpajen/src/sensorpajen/approve_sensors.py index a7370e3..6f7df87 100644 --- a/debian/sensorpajen/opt/sensorpajen/src/sensorpajen/approve_sensors.py +++ b/debian/sensorpajen/opt/sensorpajen/src/sensorpajen/approve_sensors.py @@ -153,16 +153,10 @@ def approve_sensor(sensor: DiscoveredSensor, manager: DiscoveryManager): print(f" Name: {name}") print(f" Configuration will be reloaded automatically within 15 minutes") - # Mark as approved in discovery manager + # Mark as approved in discovery manager and save + print(f"\nUpdating discovery status...") manager.approve(sensor.mac) - - except Exception as e: - print(f"\n❌ Error saving to sensors.json: {e}") - - -def ignore_sensor(sensor: DiscoveredSensor, manager: DiscoveryManager): - """ - Ignore a sensor. + print(f"✅ Marked as approved in discovered_sensors.json") Args: sensor: Sensor to ignore @@ -172,7 +166,7 @@ def ignore_sensor(sensor: DiscoveredSensor, manager: DiscoveryManager): manager.ignore(sensor.mac, reason if reason else None) - print(f"\n✅ Sensor ignored") + print(f"\n✅ Sensor ignored and marked in discovered_sensors.json") if reason: print(f" Reason: {reason}") diff --git a/debian/sensorpajen/opt/sensorpajen/src/sensorpajen/config.py b/debian/sensorpajen/opt/sensorpajen/src/sensorpajen/config.py index 85e636c..c5297a6 100644 --- a/debian/sensorpajen/opt/sensorpajen/src/sensorpajen/config.py +++ b/debian/sensorpajen/opt/sensorpajen/src/sensorpajen/config.py @@ -15,7 +15,10 @@ logger = logging.getLogger(__name__) # Determine project root and config directory # Check if running from system installation (/opt/sensorpajen) or development -if Path('/opt/sensorpajen').exists(): +_opt_sensorpajen_exists = Path('/opt/sensorpajen').exists() +_var_lib_exists = Path('/var/lib/sensorpajen').exists() + +if _opt_sensorpajen_exists: # System installation PROJECT_ROOT = Path('/opt/sensorpajen') CONFIG_DIR = Path('/etc/sensorpajen') @@ -140,6 +143,7 @@ def validate_config(): logger.info(f"Installation Type: {install_type}") logger.info(f"Project Root: {PROJECT_ROOT}") logger.info(f"Config Directory: {CONFIG_DIR}") + logger.info(f"State Directory: {STATE_DIR}") logger.info(f"MQTT Host: {MQTT_HOST}:{MQTT_PORT}") logger.info(f"MQTT User: {MQTT_USER}") logger.info(f"MQTT Client ID: {MQTT_CLIENT_ID}") diff --git a/src/sensorpajen/approve_sensors.py b/src/sensorpajen/approve_sensors.py index a7370e3..6f7df87 100644 --- a/src/sensorpajen/approve_sensors.py +++ b/src/sensorpajen/approve_sensors.py @@ -153,16 +153,10 @@ def approve_sensor(sensor: DiscoveredSensor, manager: DiscoveryManager): print(f" Name: {name}") print(f" Configuration will be reloaded automatically within 15 minutes") - # Mark as approved in discovery manager + # Mark as approved in discovery manager and save + print(f"\nUpdating discovery status...") manager.approve(sensor.mac) - - except Exception as e: - print(f"\n❌ Error saving to sensors.json: {e}") - - -def ignore_sensor(sensor: DiscoveredSensor, manager: DiscoveryManager): - """ - Ignore a sensor. + print(f"✅ Marked as approved in discovered_sensors.json") Args: sensor: Sensor to ignore @@ -172,7 +166,7 @@ def ignore_sensor(sensor: DiscoveredSensor, manager: DiscoveryManager): manager.ignore(sensor.mac, reason if reason else None) - print(f"\n✅ Sensor ignored") + print(f"\n✅ Sensor ignored and marked in discovered_sensors.json") if reason: print(f" Reason: {reason}") diff --git a/src/sensorpajen/config.py b/src/sensorpajen/config.py index 85e636c..c5297a6 100644 --- a/src/sensorpajen/config.py +++ b/src/sensorpajen/config.py @@ -15,7 +15,10 @@ logger = logging.getLogger(__name__) # Determine project root and config directory # Check if running from system installation (/opt/sensorpajen) or development -if Path('/opt/sensorpajen').exists(): +_opt_sensorpajen_exists = Path('/opt/sensorpajen').exists() +_var_lib_exists = Path('/var/lib/sensorpajen').exists() + +if _opt_sensorpajen_exists: # System installation PROJECT_ROOT = Path('/opt/sensorpajen') CONFIG_DIR = Path('/etc/sensorpajen') @@ -140,6 +143,7 @@ def validate_config(): logger.info(f"Installation Type: {install_type}") logger.info(f"Project Root: {PROJECT_ROOT}") logger.info(f"Config Directory: {CONFIG_DIR}") + logger.info(f"State Directory: {STATE_DIR}") logger.info(f"MQTT Host: {MQTT_HOST}:{MQTT_PORT}") logger.info(f"MQTT User: {MQTT_USER}") logger.info(f"MQTT Client ID: {MQTT_CLIENT_ID}")