mirror of
https://gitlab.sectorq.eu/jaydee/omv_backup.git
synced 2025-09-13 12:10:12 +02:00
build
This commit is contained in:
@@ -146,47 +146,7 @@ USERNAME = 'jaydee'
|
|||||||
PASSWORD = 'jaydee1'
|
PASSWORD = 'jaydee1'
|
||||||
USE_TLS = False # Set to False if not using TLS
|
USE_TLS = False # Set to False if not using TLS
|
||||||
|
|
||||||
# Define actions based on payload
|
|
||||||
def handle_payload(payload):
|
|
||||||
payload = payload.lower()
|
|
||||||
if payload == 'start':
|
|
||||||
logging.info("💡 Starting backup job")
|
|
||||||
backup_job()
|
|
||||||
elif payload == 'turn_off_light':
|
|
||||||
logging.info("💡 Turning off the light...")
|
|
||||||
elif payload == 'play_music':
|
|
||||||
logging.info("🎵 Playing music...")
|
|
||||||
else:
|
|
||||||
logging.error(f"⚠️ Unknown command: {payload}")
|
|
||||||
|
|
||||||
# Callback when connected
|
|
||||||
def on_connect(client, userdata, flags, rc):
|
|
||||||
if rc == 0:
|
|
||||||
logging.info("✅ Connected securely to broker")
|
|
||||||
client.subscribe(TOPIC)
|
|
||||||
logging.info(f"📡 Subscribed to topic: {TOPIC}")
|
|
||||||
else:
|
|
||||||
logging.error(f"❌ Connection failed with code {rc}")
|
|
||||||
|
|
||||||
# Callback when a message is received
|
|
||||||
def on_message(client, userdata, msg):
|
|
||||||
payload = msg.payload.decode()
|
|
||||||
logging.info(f"📨 Received message: {payload} on topic: {msg.topic}")
|
|
||||||
handle_payload(payload)
|
|
||||||
|
|
||||||
# MQTT client setup
|
|
||||||
client = mqtt.Client()
|
|
||||||
client.username_pw_set(USERNAME, PASSWORD)
|
|
||||||
client.on_connect = on_connect
|
|
||||||
client.on_message = on_message
|
|
||||||
|
|
||||||
# Use TLS for encrypted connection
|
|
||||||
if USE_TLS:
|
|
||||||
client.tls_set() # You can customize this with certs if needed
|
|
||||||
|
|
||||||
# Connect and loop forever
|
|
||||||
client.connect(BROKER, PORT, keepalive=60)
|
|
||||||
client.loop_forever()
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -855,4 +815,46 @@ if _SSH_TEST:
|
|||||||
print(line, end="")
|
print(line, end="")
|
||||||
for line in iter(ssh_stderr.readline, ""):
|
for line in iter(ssh_stderr.readline, ""):
|
||||||
logger.info(line)
|
logger.info(line)
|
||||||
ssh.close()
|
ssh.close()
|
||||||
|
|
||||||
|
# Define actions based on payload
|
||||||
|
def handle_payload(payload):
|
||||||
|
payload = payload.lower()
|
||||||
|
if payload == 'start':
|
||||||
|
logging.info("💡 Starting backup job")
|
||||||
|
backup_job()
|
||||||
|
elif payload == 'turn_off_light':
|
||||||
|
logging.info("💡 Turning off the light...")
|
||||||
|
elif payload == 'play_music':
|
||||||
|
logging.info("🎵 Playing music...")
|
||||||
|
else:
|
||||||
|
logging.error(f"⚠️ Unknown command: {payload}")
|
||||||
|
|
||||||
|
# Callback when connected
|
||||||
|
def on_connect(client, userdata, flags, rc):
|
||||||
|
if rc == 0:
|
||||||
|
logging.info("✅ Connected securely to broker")
|
||||||
|
client.subscribe(TOPIC)
|
||||||
|
logging.info(f"📡 Subscribed to topic: {TOPIC}")
|
||||||
|
else:
|
||||||
|
logging.error(f"❌ Connection failed with code {rc}")
|
||||||
|
|
||||||
|
# Callback when a message is received
|
||||||
|
def on_message(client, userdata, msg):
|
||||||
|
payload = msg.payload.decode()
|
||||||
|
logging.info(f"📨 Received message: {payload} on topic: {msg.topic}")
|
||||||
|
handle_payload(payload)
|
||||||
|
|
||||||
|
# MQTT client setup
|
||||||
|
client = mqtt.Client()
|
||||||
|
client.username_pw_set(USERNAME, PASSWORD)
|
||||||
|
client.on_connect = on_connect
|
||||||
|
client.on_message = on_message
|
||||||
|
|
||||||
|
# Use TLS for encrypted connection
|
||||||
|
if USE_TLS:
|
||||||
|
client.tls_set() # You can customize this with certs if needed
|
||||||
|
|
||||||
|
# Connect and loop forever
|
||||||
|
client.connect(BROKER, PORT, keepalive=60)
|
||||||
|
client.loop_forever()
|
Reference in New Issue
Block a user