Files
allmende_ems/main.py
2025-09-14 10:52:50 +02:00

32 lines
1016 B
Python

import time
from datetime import datetime
from data_base_csv import DataBaseCsv
from data_base_influx import DataBaseInflux
from heat_pump import HeatPump
from shelly_pro_3m import ShellyPro3m
interval_seconds = 10
db = DataBaseInflux(
url="http://localhost:8086",
token="Cw_naEZyvJ3isiAh1P4Eq3TsjcHmzzDFS7SlbKDsS6ZWL04fMEYixWqtNxGThDdG27S9aW5g7FP9eiq5z1rsGA==",
org="allmende",
bucket="allmende_db"
)
hp = HeatPump(device_name='hp_master', ip_address='10.0.0.10')
shelly = ShellyPro3m(device_name='wohnung_2_6', ip_address='192.168.1.121')
wr = SolarEdgeWechselrichter(device_name='wr_master', ip_address='192.168.1.112')
controller = SgReadyController(hp, wr)
while True:
now = datetime.now()
if now.second % interval_seconds == 0 and now.microsecond < 100_000:
db.store_data(hp.device_name, hp.get_state())
db.store_data(shelly.device_name, shelly.get_state())
db.store_data(wr.device_name, wr.get_state())
controller.perform_action()
time.sleep(0.1)