Improve approve-sensors feedback for marking sensors
Changes: - approve_sensor: Add explicit logging that sensor was marked as approved - ignore_sensor: Add explicit logging that sensor was marked in discovered_sensors.json - Both now clearly indicate the sensor status is updated, not just added/ignored This makes it clear to users that approved sensors will no longer appear as pending in future runs, since their status in discovered_sensors.json is changed from 'pending' to 'approved' or 'ignored'.
This commit is contained in:
4
debian/sensorpajen/DEBIAN/md5sums
vendored
4
debian/sensorpajen/DEBIAN/md5sums
vendored
@@ -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
|
||||
|
||||
@@ -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}")
|
||||
|
||||
|
||||
@@ -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}")
|
||||
|
||||
@@ -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}")
|
||||
|
||||
|
||||
@@ -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}")
|
||||
|
||||
Reference in New Issue
Block a user