From d0d08ae4b01806bb1059a2156222c68c0d73ed68 Mon Sep 17 00:00:00 2001 From: zewelor Date: Fri, 27 Apr 2018 02:21:00 +0200 Subject: [PATCH] Add linak desk worker --- workers/linakdesk.py | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 workers/linakdesk.py diff --git a/workers/linakdesk.py b/workers/linakdesk.py new file mode 100644 index 0000000..b6213df --- /dev/null +++ b/workers/linakdesk.py @@ -0,0 +1,23 @@ +from interruptingcow import timeout + +from mqtt import MqttMessage +from workers.base import BaseWorker + +REQUIREMENTS = ['git+https://github.com/zewelor/linak_bt_desk.git'] + +class LinakdeskWorker(BaseWorker): + def _setup(self): + from linak_dpg_bt import LinakDesk + + self.desk = LinakDesk(self.mac) + + def status_update(self): + return [MqttMessage(topic=self.format_topic('height/cm'), payload=self._get_height())] + + def _get_height(self): + with timeout(20): + self.desk.read_dpg_data() + return self.desk.current_height_with_offset.cm + + return -1 +