diff --git a/doorbell/klingel_sender_nano_serial/doorbell.py b/doorbell/klingel_sender_nano_serial/doorbell.py index 232852d..b1fe600 100644 --- a/doorbell/klingel_sender_nano_serial/doorbell.py +++ b/doorbell/klingel_sender_nano_serial/doorbell.py @@ -1,6 +1,6 @@ # https://www.instructables.com/id/Arduino-Python-Communication-via-USB/ -# in rc.local: -# su tilman -c 'python3 /media/hd/admin/doorbell/doorbell.py >> /media/hd/admin/doorbell/doorbell.log 2>&1 &' +# in /etc/systemd/system/startup-commands.service (s. https://www.nodebucket.de/index.php/apps/cms_pico/pico/server/setup): +# ExecStart = su tilman -c 'python3 /media/hd/admin/doorbell/doorbell.py >> /media/hd/admin/doorbell/doorbell.log 2>&1 &' import serial import urllib.request @@ -28,21 +28,21 @@ while True: data = data.decode('utf8') except (UnicodeDecodeError) as ude: logger.error(ude) + else: + logger.info(data) + if (data == 'RING'): try: response = urllib.request.urlopen('http://192.168.178.60/bell/on', timeout=5).read().decode('utf-8') # send MQTT headers = { -# "Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJjYjY5NjA5NmY0N2E0NmZlOGEzYjczOGYzYmUzOTk5ZSIsImlhdCI6MTY2MTM0NDgxOSwiZXhwIjoxOTc2NzA0ODE5fQ.z9fzbVOA1Pbur3Zb07481n-SoYesj8cetw-CX6WPmTs", - "Content-Type": "application/json" + "Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJjYjY5NjA5NmY0N2E0NmZlOGEzYjczOGYzYmUzOTk5ZSIsImlhdCI6MTY2MTM0NDgxOSwiZXhwIjoxOTc2NzA0ODE5fQ.z9fzbVOA1Pbur3Zb07481n-SoYesj8cetw-CX6WPmTs", + "Content-Type": "application/json" } data = json.dumps({'payload': 'RING', 'topic': 'lewe/doorbell', 'retain': 'False'}).encode('utf8') - request = urllib.request.Request("localhost:8123/api/services/mqtt/publish", data, headers) -# request = urllib.request.Request("https://www.nodebucket.de:8123/api/services/mqtt/publish", data, headers) + request = urllib.request.Request("https://www.nodebucket.de:8123/api/services/mqtt/publish", data, headers) response = urllib.request.urlopen(request) - except Exception as err: + except Exception: logger.error("Could not ring doorbell") - time.sleep(300) - else: - logger.info(data) + time.sleep(300) \ No newline at end of file