Working prototype

This commit is contained in:
Felix Niederwanger 2023-05-29 21:51:55 +02:00
parent 6b895bcf06
commit c513390287
Signed by: phoenix
GPG key ID: 6E77A590E3F6D71C

View file

@ -10,6 +10,7 @@ import json
SOURCE = "http://192.168.242.199/meter/now"
MQTT_SERVER = "192.168.0.42"
MQTT_TOPIC = "home/power"
DELAY = 5
def obtain_data() :
req = requests.get(SOURCE)
@ -17,21 +18,24 @@ def obtain_data() :
return req.json()
if __name__ == "__main__" :
data = obtain_data()
if data['status'] != 'ok' :
print("status: %s" % data['status'])
os.Exit(1)
# Get Power readings
power = data['elec']['power']['now']['value'] # Current power readings in Watt
print("%d W" % (power))
# MQTT publish
# MQTT client
client = mqtt.Client()
client.connect(MQTT_SERVER, 1883, 60)
tsp = int(time.time())
data = {"power": power, "timestamp": tsp}
msg = json.dumps(data)
print(msg)
result = client.publish(MQTT_TOPIC, msg)
while True :
data = obtain_data()
if data['status'] != 'ok' :
print("status: %s" % data['status'])
os.Exit(1)
# Get Power readings
power = data['elec']['power']['now']['value'] # Current power readings in Watt
# MQTT publish
tsp = int(time.time())
data = {"power": power, "timestamp": tsp}
msg = json.dumps(data)
print(msg)
result = client.publish(MQTT_TOPIC, msg)
time.sleep(DELAY)