Compare commits

...

2 Commits

Author SHA1 Message Date
1c38c61fbc о 2024-10-29 19:50:35 +04:00
091dcbd3a3 Управление вентилями/нагревателями 2024-10-29 19:49:33 +04:00

View File

@ -0,0 +1,47 @@
from json import dumps
from json import dumps
class ManageController:
def __init__(self, producer, topic='commands'):
self.valve_state = "closed"
self.heater_state = "off"
self.producer = producer
self.topic = topic
def toggle_device(self, device, request_id, greenhouse_id):
if device == 'valve':
if self.valve_state == 'closed':
self.valve_state = 'open'
print("Valve opened")
else:
self.valve_state = 'closed'
print("Valve closed")
elif device == 'heater':
if self.heater_state == 'off':
self.heater_state = 'on'
print("Heater turned on")
else:
self.heater_state = 'off'
print("Heater turned off")
self.send_status(request_id, greenhouse_id)
def send_status(self, request_id, greenhouse_id):
status = {
'request_id': request_id,
'greenhouse_id': greenhouse_id,
'valve_state': self.valve_state,
'heater_state': self.heater_state
}
self.producer.send(self.topic, value=status)
print(f"Sent device status: {status}")