-
Notifications
You must be signed in to change notification settings - Fork 115
/
test-messages.py
executable file
·35 lines (30 loc) · 1.03 KB
/
test-messages.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#!/usr/bin/python3
#
# test-messages.py - This script publish a random MQTT messages every 2 s.
#
# Copyright (c) 2013-2024, Fabian Affolter <fabian@affolter-engineering.ch>
# Released under the MIT license. See LICENSE file for details.
#
import random
import time
import paho.mqtt.client as mqtt
timestamp = int(time.time())
broker = "127.0.0.1"
port = 1883
element = "home"
areas = ["front", "back", "kitchen", "basement", "living"]
entrances = ["door", "window"]
states = ["true", "false"]
print(f"Messages are published on topic {element}/#... -> CTRL + C to shutdown")
while True:
area = random.choice(areas)
if area in ["basement", "living"]:
topic = element + "/" + area + "/temp"
message = random.randrange(0, 30, 1)
else:
topic = element + "/" + area + "/" + random.choice(entrances)
message = random.choice(states)
mqtt_client = mqtt.Client("mqtt-panel-test", protocol=mqtt.MQTTv311)
mqtt_client.connect(broker, port=int(port))
mqtt_client.publish(topic, message)
time.sleep(2)