Added URL ping to notify when scripts finish OK
This commit is contained in:
parent
022f9df89a
commit
db6b256853
3 changed files with 10 additions and 1 deletions
|
@ -12,6 +12,7 @@ Copy the `env_file` to `.env` and open it. Complete all environment variables:
|
||||||
- `MQTT_SENSOR_NAME` contains the sensor name, useful to split the telemetry data if you have more than one sensors.
|
- `MQTT_SENSOR_NAME` contains the sensor name, useful to split the telemetry data if you have more than one sensors.
|
||||||
- `MQTT_PUBLISH_DELAY` specify, in seconds, how many time should wait since the script take the measurements to publish in the broker
|
- `MQTT_PUBLISH_DELAY` specify, in seconds, how many time should wait since the script take the measurements to publish in the broker
|
||||||
- `MIJIA_BTLE_ADDRESS` constant with the BLE address of your Mijia device.. This can be retrieved activating the pairing mode in the sensor and scanning the BT devices
|
- `MIJIA_BTLE_ADDRESS` constant with the BLE address of your Mijia device.. This can be retrieved activating the pairing mode in the sensor and scanning the BT devices
|
||||||
|
- `PING_URL` used to ping a monitoring service if everything was OK (Useful, for example, for monitor the script with Uptime Kuma)
|
||||||
|
|
||||||
## Install dependencies
|
## Install dependencies
|
||||||
|
|
||||||
|
|
5
env_file
5
env_file
|
@ -19,4 +19,7 @@ MQTT_TOPIC_STATE=${MQTT_TELE_PREFIX}/${MQTT_SENSOR_NAME}/event
|
||||||
MQTT_PUBLISH_DELAY=5
|
MQTT_PUBLISH_DELAY=5
|
||||||
|
|
||||||
# Sensor configuration
|
# Sensor configuration
|
||||||
MIJIA_BTLE_ADDRESS=
|
MIJIA_BTLE_ADDRESS=
|
||||||
|
|
||||||
|
# Ping URL (Uptime Kuma, for example)
|
||||||
|
PING_URL=
|
||||||
|
|
5
main.py
5
main.py
|
@ -5,6 +5,7 @@
|
||||||
import os
|
import os
|
||||||
import re
|
import re
|
||||||
import time
|
import time
|
||||||
|
import urllib.request
|
||||||
|
|
||||||
from dotenv import load_dotenv
|
from dotenv import load_dotenv
|
||||||
import paho.mqtt.client as mqtt
|
import paho.mqtt.client as mqtt
|
||||||
|
@ -12,6 +13,8 @@ from bluepy import btle
|
||||||
|
|
||||||
load_dotenv() # Cargamos las variables de entorno necesarias
|
load_dotenv() # Cargamos las variables de entorno necesarias
|
||||||
|
|
||||||
|
PING_URL = os.getenv('PING_URL')
|
||||||
|
|
||||||
MQTT_TOPIC_HUMIDITY = os.getenv('MQTT_TOPIC_HUMIDITY')
|
MQTT_TOPIC_HUMIDITY = os.getenv('MQTT_TOPIC_HUMIDITY')
|
||||||
MQTT_TOPIC_TEMPERATURE = os.getenv('MQTT_TOPIC_TEMPERATURE')
|
MQTT_TOPIC_TEMPERATURE = os.getenv('MQTT_TOPIC_TEMPERATURE')
|
||||||
MQTT_TOPIC_BATTERY = os.getenv('MQTT_TOPIC_BATTERY')
|
MQTT_TOPIC_BATTERY = os.getenv('MQTT_TOPIC_BATTERY')
|
||||||
|
@ -96,6 +99,8 @@ def main():
|
||||||
publish_sensor_data(mqttc)
|
publish_sensor_data(mqttc)
|
||||||
last_msg_time = time.time()
|
last_msg_time = time.time()
|
||||||
reset_variables()
|
reset_variables()
|
||||||
|
if PING_URL:
|
||||||
|
urllib.request.urlopen(PING_URL).read()
|
||||||
break
|
break
|
||||||
|
|
||||||
except (btle.BTLEDisconnectError, IOError):
|
except (btle.BTLEDisconnectError, IOError):
|
||||||
|
|
Loading…
Reference in a new issue