MQTT new settings

This commit is contained in:
jokob-sk
2024-04-21 08:26:13 +10:00
parent 436669173b
commit 44408c8cfc
2 changed files with 41 additions and 8 deletions

View File

@@ -425,6 +425,36 @@
"string" : "Nombre de usuario utilizado para iniciar sesión en su instancia de agente de MQTT."
}]
},
{
"function": "DEVICE_ID",
"type": "text",
"default_value": "netalertx",
"options": [],
"localized": ["name", "description"],
"name" : [{
"language_code": "en_us",
"string" : "Device ID"
}],
"description": [{
"language_code": "en_us",
"string" : "The root path of the sensor"
}]
},
{
"function": "DEVICE_NAME",
"type": "text",
"default_value": "NetAlertX",
"options": [],
"localized": ["name", "description"],
"name" : [{
"language_code": "en_us",
"string" : "Device name"
}],
"description": [{
"language_code": "en_us",
"string" : "The name used for the devices."
}]
},
{
"function": "PASSWORD",
"type": "password",

View File

@@ -106,10 +106,12 @@ class sensor_config:
if plugObj == {}:
self.isNew = True
mylog('verbose', [f"[{pluginName}] New sensor entry name : {deviceName}"])
mylog('verbose', [f"[{pluginName}] New sensor entry mac : {mac}"])
mylog('verbose', [f"[{pluginName}] New sensor entry input_string : {input_string}"])
mylog('verbose', [f"[{pluginName}] New sensor entry hash_value : {hash_value}"])
else:
device_name = plugObj.get("Watched_Value1", "Unknown")
mylog('verbose', [f"[{pluginName}] Existing, skip Device Name : {device_name}"])
self.isNew = False
@@ -171,10 +173,7 @@ def publish_mqtt(mqtt_client, topic, message):
return True
#-------------------------------------------------------------------------------
def create_generic_device(mqtt_client):
deviceName = 'NetAlertX'
deviceId = 'netalertx'
def create_generic_device(mqtt_client, deviceId, deviceName):
create_sensor(mqtt_client, deviceId, deviceName, 'sensor', 'online', 'wifi-check')
create_sensor(mqtt_client, deviceId, deviceName, 'sensor', 'down', 'wifi-cancel')
@@ -278,18 +277,22 @@ def mqtt_start(db):
mqtt_connected_to_broker = True
mqtt_client = mqtt_create_client()
deviceName = get_setting_value('MQTT_DEVICE_NAME')
deviceId = get_setting_value('MQTT_DEVICE_ID')
# General stats
# Create a generic device for overal stats
if get_setting_value('MQTT_SEND_STATS') == True:
# Create a new device representing overall stats
create_generic_device(mqtt_client)
create_generic_device(mqtt_client, deviceId, deviceName)
# Get the data
row = get_device_stats(db)
# Publish (wrap into {} and remove last ',' from above)
publish_mqtt(mqtt_client, "system-sensors/sensor/netalertx/state",
publish_mqtt(mqtt_client, f"system-sensors/sensor/{deviceId}/state",
{
"online": row[0],
"down": row[1],