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
|
0894789523a53bb372980c0906a7d0b5 opt/sensorpajen/requirements.txt
|
||||||
940d73f24eb9f971ce27f9355e3072f3 opt/sensorpajen/scripts/approve-sensors.sh
|
940d73f24eb9f971ce27f9355e3072f3 opt/sensorpajen/scripts/approve-sensors.sh
|
||||||
20eb4f3839b990a530410768897402c0 opt/sensorpajen/src/sensorpajen/__init__.py
|
20eb4f3839b990a530410768897402c0 opt/sensorpajen/src/sensorpajen/__init__.py
|
||||||
1f452c46e42f8dc3751dba6ca68256e9 opt/sensorpajen/src/sensorpajen/approve_sensors.py
|
63d6137fbf2f37c5f394a364da70f611 opt/sensorpajen/src/sensorpajen/approve_sensors.py
|
||||||
8d781ed202be540358a970c2be50f54d opt/sensorpajen/src/sensorpajen/config.py
|
f69225e19918cca05351fa2da8fd7618 opt/sensorpajen/src/sensorpajen/config.py
|
||||||
65c63383dde4f0b249b708f854ec75a3 opt/sensorpajen/src/sensorpajen/discovery_manager.py
|
65c63383dde4f0b249b708f854ec75a3 opt/sensorpajen/src/sensorpajen/discovery_manager.py
|
||||||
7604c2bc0a854d6d43ff0f0646386fc5 opt/sensorpajen/src/sensorpajen/main.py
|
7604c2bc0a854d6d43ff0f0646386fc5 opt/sensorpajen/src/sensorpajen/main.py
|
||||||
331bf9b314492acc6ce03896367f3cf6 opt/sensorpajen/src/sensorpajen/mqtt_publisher.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" Name: {name}")
|
||||||
print(f" Configuration will be reloaded automatically within 15 minutes")
|
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)
|
manager.approve(sensor.mac)
|
||||||
|
print(f"✅ Marked as approved in discovered_sensors.json")
|
||||||
except Exception as e:
|
|
||||||
print(f"\n❌ Error saving to sensors.json: {e}")
|
|
||||||
|
|
||||||
|
|
||||||
def ignore_sensor(sensor: DiscoveredSensor, manager: DiscoveryManager):
|
|
||||||
"""
|
|
||||||
Ignore a sensor.
|
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
sensor: Sensor to ignore
|
sensor: Sensor to ignore
|
||||||
@@ -172,7 +166,7 @@ def ignore_sensor(sensor: DiscoveredSensor, manager: DiscoveryManager):
|
|||||||
|
|
||||||
manager.ignore(sensor.mac, reason if reason else None)
|
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:
|
if reason:
|
||||||
print(f" Reason: {reason}")
|
print(f" Reason: {reason}")
|
||||||
|
|
||||||
|
|||||||
@@ -15,7 +15,10 @@ logger = logging.getLogger(__name__)
|
|||||||
|
|
||||||
# Determine project root and config directory
|
# Determine project root and config directory
|
||||||
# Check if running from system installation (/opt/sensorpajen) or development
|
# 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
|
# System installation
|
||||||
PROJECT_ROOT = Path('/opt/sensorpajen')
|
PROJECT_ROOT = Path('/opt/sensorpajen')
|
||||||
CONFIG_DIR = Path('/etc/sensorpajen')
|
CONFIG_DIR = Path('/etc/sensorpajen')
|
||||||
@@ -140,6 +143,7 @@ def validate_config():
|
|||||||
logger.info(f"Installation Type: {install_type}")
|
logger.info(f"Installation Type: {install_type}")
|
||||||
logger.info(f"Project Root: {PROJECT_ROOT}")
|
logger.info(f"Project Root: {PROJECT_ROOT}")
|
||||||
logger.info(f"Config Directory: {CONFIG_DIR}")
|
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 Host: {MQTT_HOST}:{MQTT_PORT}")
|
||||||
logger.info(f"MQTT User: {MQTT_USER}")
|
logger.info(f"MQTT User: {MQTT_USER}")
|
||||||
logger.info(f"MQTT Client ID: {MQTT_CLIENT_ID}")
|
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" Name: {name}")
|
||||||
print(f" Configuration will be reloaded automatically within 15 minutes")
|
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)
|
manager.approve(sensor.mac)
|
||||||
|
print(f"✅ Marked as approved in discovered_sensors.json")
|
||||||
except Exception as e:
|
|
||||||
print(f"\n❌ Error saving to sensors.json: {e}")
|
|
||||||
|
|
||||||
|
|
||||||
def ignore_sensor(sensor: DiscoveredSensor, manager: DiscoveryManager):
|
|
||||||
"""
|
|
||||||
Ignore a sensor.
|
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
sensor: Sensor to ignore
|
sensor: Sensor to ignore
|
||||||
@@ -172,7 +166,7 @@ def ignore_sensor(sensor: DiscoveredSensor, manager: DiscoveryManager):
|
|||||||
|
|
||||||
manager.ignore(sensor.mac, reason if reason else None)
|
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:
|
if reason:
|
||||||
print(f" Reason: {reason}")
|
print(f" Reason: {reason}")
|
||||||
|
|
||||||
|
|||||||
@@ -15,7 +15,10 @@ logger = logging.getLogger(__name__)
|
|||||||
|
|
||||||
# Determine project root and config directory
|
# Determine project root and config directory
|
||||||
# Check if running from system installation (/opt/sensorpajen) or development
|
# 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
|
# System installation
|
||||||
PROJECT_ROOT = Path('/opt/sensorpajen')
|
PROJECT_ROOT = Path('/opt/sensorpajen')
|
||||||
CONFIG_DIR = Path('/etc/sensorpajen')
|
CONFIG_DIR = Path('/etc/sensorpajen')
|
||||||
@@ -140,6 +143,7 @@ def validate_config():
|
|||||||
logger.info(f"Installation Type: {install_type}")
|
logger.info(f"Installation Type: {install_type}")
|
||||||
logger.info(f"Project Root: {PROJECT_ROOT}")
|
logger.info(f"Project Root: {PROJECT_ROOT}")
|
||||||
logger.info(f"Config Directory: {CONFIG_DIR}")
|
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 Host: {MQTT_HOST}:{MQTT_PORT}")
|
||||||
logger.info(f"MQTT User: {MQTT_USER}")
|
logger.info(f"MQTT User: {MQTT_USER}")
|
||||||
logger.info(f"MQTT Client ID: {MQTT_CLIENT_ID}")
|
logger.info(f"MQTT Client ID: {MQTT_CLIENT_ID}")
|
||||||
|
|||||||
Reference in New Issue
Block a user