summaryrefslogtreecommitdiff
path: root/src/sensors_mqtt_sender.py
diff options
context:
space:
mode:
authorEvgeny Zinoviev <me@ch1p.io>2023-09-27 00:54:57 +0300
committerEvgeny Zinoviev <me@ch1p.io>2023-09-27 00:54:57 +0300
commitd3a295872c49defb55fc8e4e43e55550991e0927 (patch)
treeb9dca15454f9027d5a9dad0d4443a20de04dbc5d /src/sensors_mqtt_sender.py
parentb7cbc2571c1870b4582ead45277d0aa7f961bec8 (diff)
parentbdbb296697f55f4c3a07af43c9aaf7a9ea86f3d0 (diff)
Merge branch 'master' of ch1p.io:homekit
Diffstat (limited to 'src/sensors_mqtt_sender.py')
-rwxr-xr-xsrc/sensors_mqtt_sender.py58
1 files changed, 0 insertions, 58 deletions
diff --git a/src/sensors_mqtt_sender.py b/src/sensors_mqtt_sender.py
deleted file mode 100755
index 87a28ca..0000000
--- a/src/sensors_mqtt_sender.py
+++ /dev/null
@@ -1,58 +0,0 @@
-#!/usr/bin/env python3
-import time
-import json
-
-from home.util import parse_addr, MySimpleSocketClient
-from home.mqtt import MqttBase, poll_tick
-from home.mqtt.payload.sensors import Temperature
-from home.config import config
-
-
-class MqttClient(MqttBase):
- def __init__(self):
- super().__init__(self)
- self._home_id = config['mqtt']['home_id']
-
- def poll(self):
- freq = int(config['mqtt']['sensors']['poll_freq'])
- self._logger.debug(f'freq={freq}')
-
- g = poll_tick(freq)
- while True:
- time.sleep(next(g))
- for k, v in config['mqtt']['sensors']['si7021'].items():
- host, port = parse_addr(v['addr'])
- self.publish_si7021(host, port, k)
-
- def publish_si7021(self, host: str, port: int, name: str):
- self._logger.debug(f"publish_si7021/{name}: {host}:{port}")
-
- try:
- now = time.time()
- socket = MySimpleSocketClient(host, port)
-
- socket.write('read')
- response = json.loads(socket.read().strip())
-
- temp = response['temp']
- humidity = response['humidity']
-
- self._logger.debug(f'publish_si7021/{name}: temp={temp} humidity={humidity}')
-
- pld = Temperature(time=round(now),
- temp=temp,
- rh=humidity)
- self._client.publish(f'hk/{self._home_id}/si7021/{name}',
- payload=pld.pack(),
- qos=1)
- except Exception as e:
- self._logger.exception(e)
-
-
-if __name__ == '__main__':
- config.load('sensors_mqtt_sender')
-
- client = MqttClient()
- client.configure_tls()
- client.connect_and_loop(loop_forever=False)
- client.poll()