Open thomasklein1975 opened 1 year ago
Hi Thomas, please check if Python version is 3.10. The service script use python3 to start, which in you case might be 3.7, which is to low.
Hi,
I use this as first line:
#!/usr/bin/python3.10 """
maybe i should use it in every *.py file
Try it in the gecko.service file
ExecStart=/usr/bin/python3.10 /opt/geckoclient/client.py
i changed as written by you without any change
`pi@raspberrypi-iob:/opt/geckoclient/service $ sudo systemctl start gecko.service pi@raspberrypi-iob:/opt/geckoclient/service $ sudo systemctl status gecko.service ● gecko.service - Gecko client service Loaded: loaded (/etc/systemd/system/gecko.service; enabled; vendor preset: enabled) Active: failed (Result: exit-code) since Sun 2023-01-15 18:18:29 CET; 1s ago Process: 23399 ExecStart=/usr/bin/python3 /opt/geckoclient/client.py (code=exited, status=1/FAILURE) Main PID: 23399 (code=exited, status=1/FAILURE)
Jan 15 18:18:29 raspberrypi-iob systemd[1]: gecko.service: Service RestartSec=100ms expired, scheduling restart. Jan 15 18:18:29 raspberrypi-iob systemd[1]: gecko.service: Scheduled restart job, restart counter is at 5. Jan 15 18:18:29 raspberrypi-iob systemd[1]: Stopped Gecko client service. Jan 15 18:18:29 raspberrypi-iob systemd[1]: gecko.service: Start request repeated too quickly. Jan 15 18:18:29 raspberrypi-iob systemd[1]: gecko.service: Failed with result 'exit-code'. Jan 15 18:18:29 raspberrypi-iob systemd[1]: Failed to start Gecko client service. pi@raspberrypi-iob:/opt/geckoclient/service $ `
should light and pump1 switch to on while start client.py?
`pi@raspberrypi-iob:/opt/geckoclient $ python3.10 client.py
WaterCare: Standard< changed from None to 1 Reminders: [<geckolib.automation.reminders.GeckoReminders.Reminder object at 0xb5b516b8>, <geckolib.automation.reminders.GeckoReminders.Reminder object at 0xb5b51730>, <geckolib.automation.reminders.GeckoReminders.Reminder object at 0xb5b51700>, <geckolib.automation.reminders.GeckoReminders.Reminder object at 0xb5b51688>]< changed from None to None 'UdLi': 'HI'< changed from OFF to HI 'P1': 'HIGH'< changed from OFF to HIGH Reminders: [<geckolib.automation.reminders.GeckoReminders.Reminder object at 0xb5d6cd48>, <geckolib.automation.reminders.GeckoReminders.Reminder object at 0xb5d6c6d0>, <geckolib.automation.reminders.GeckoReminders.Reminder object at 0xb5d6cce8>, <geckolib.automation.reminders.GeckoReminders.Reminder object at 0xb5d6c628>]< changed from None to None 'UdLi': 'OFF'< changed from HI to OFF 'P1': 'OFF'< changed from HIGH to OFF Reminders: []< changed from None to None
`
after update to lates version 0.5.3
I had these issues:
`pi@raspberrypi-iob:/opt/geckoclient $ python3.10 client.py
WaterCare: Standard< changed from None to 1 Reminders: [<geckolib.automation.reminders.GeckoReminders.Reminder object at 0xb5b17640>, <geckolib.automation.reminders.GeckoReminders.Reminder object at 0xb5b17850>, <geckolib.automation.reminders.GeckoReminders.Reminder object at 0xb5b17820>, <geckolib.automation.reminders.GeckoReminders.Reminder object at 0xb5b177a8>]< changed from None to None 'UdLi': 'HI'< changed from OFF to HI Reminders: [<geckolib.automation.reminders.GeckoReminders.Reminder object at 0xb5cb2d00>, <geckolib.automation.reminders.GeckoReminders.Reminder object at 0xb5cb2c10>, <geckolib.automation.reminders.GeckoReminders.Reminder object at 0xb5cb2e38>, <geckolib.automation.reminders.GeckoReminders.Reminder object at 0xb5cb2dc0>]< changed from None to None 'Heating': ''< changed from Heating to /opt/geckoclient/client.py:158: DeprecationWarning: The 'warn' method is deprecated, use 'warning' instead logger.warn("SPA is not connected. Trying to reconnect...") `
Additionally there was a gecko_client.log in dirctory og opt/geckoclient
2023-01-16 10:53:54,291 - geckolib.driver.async_udp_protocol - DEBUG - Received b"STATV\x02\x03'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x8b\x08\x00i\x17\x00\x00\x00\x00\xfe\x1c\x00\x00\x0$ 2023-01-16 10:53:54,293 - geckolib.driver.protocol.statusblock - DEBUG - Status block segment # 2 (then #3) length 39, b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x8b\x08\x00i\x17\x00\x00\x$ 2023-01-16 10:53:54,427 - geckolib.driver.async_udp_protocol - DEBUG - Received b"<PACKT><SRCCN>SPAe8:eb:1b:1c:5e:46</SRCCN><DESCN>IOS916b0096-ab56-4344-8728-43a8259c63c2</DESCN><DATAS>STATV\x03\x04'\x14\x00\x00\x00\x00\x00\x00\x00\x00\$ 2023-01-16 10:53:54,428 - geckolib.driver.async_udp_protocol - DEBUG - Received b"STATV\x03\x04'\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x7f\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00$ 2023-01-16 10:53:54,429 - geckolib.driver.protocol.statusblock - DEBUG - Status block segment # 3 (then #4) length 39, b'\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x7f\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0$ 2023-01-16 10:53:54,564 - geckolib.driver.async_udp_protocol - DEBUG - Received b"<PACKT><SRCCN>SPAe8:eb:1b:1c:5e:46</SRCCN><DESCN>IOS916b0096-ab56-4344-8728-43a8259c63c2</DESCN><DATAS>STATV\x04\x05'\x00\x00\x00\x00\x00\x00\x00\x00\x00\$ 2023-01-16 10:53:54,565 - geckolib.driver.async_udp_protocol - DEBUG - Received b"STATV\x04\x05'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00$ 2023-01-16 10:53:54,567 - geckolib.driver.protocol.statusblock - DEBUG - Status block segment # 4 (then #5) length 39, b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0$ 2023-01-16 10:53:54,703 - geckolib.driver.async_udp_protocol - DEBUG - Received b"<PACKT><SRCCN>SPAe8:eb:1b:1c:5e:46</SRCCN><DESCN>IOS916b0096-ab56-4344-8728-43a8259c63c2</DESCN><DATAS>STATV\x05\x06'\x04\x05\x06\x07\x08\t\n\xff\xff\xff\$ 2023-01-16 10:53:54,705 - geckolib.driver.async_udp_protocol - DEBUG - Received b"STATV\x05\x06'\x04\x05\x06\x07\x08\t\n\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xffinYT_C65.x" from ('192.168.0$ 2023-01-16 10:53:54,707 - geckolib.driver.protocol.statusblock - DEBUG - Status block segment # 5 (then #6) length 39, b'\x04\x05\x06\x07\x08\t\n\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xffinY$ 2023-01-16 10:53:54,839 - geckolib.driver.async_udp_protocol - DEBUG - Received b"<PACKT><SRCCN>SPAe8:eb:1b:1c:5e:46</SRCCN><DESCN>IOS916b0096-ab56-4344-8728-43a8259c63c2</DESCN><DATAS>STATV\x06\x07'ml\x00\x00\x00\x00inYT_S66.xml\x00\x0$ 2023-01-16 10:53:54,840 - geckolib.driver.async_udp_protocol - DEBUG - Received b"STATV\x06\x07'ml\x00\x00\x00\x00inYT_S66.xml\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" from ('192.168.0.167', 1$ 2023-01-16 10:53:54,842 - geckolib.driver.protocol.statusblock - DEBUG - Status block segment # 6 (then #7) length 39, b'ml\x00\x00\x00\x00inYT_S66.xml\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' 2023-01-16 10:53:54,976 - geckolib.driver.async_udp_protocol - DEBUG - Received b"<PACKT><SRCCN>SPAe8:eb:1b:1c:5e:46</SRCCN><DESCN>IOS916b0096-ab56-4344-8728-43a8259c63c2</DESCN><DATAS>STATV\x07\x08'\x00\x00\x00\x00\x00\x00\x00\x00\x00\$ 2023-01-16 10:53:54,977 - geckolib.driver.async_udp_protocol - DEBUG - Received b"STATV\x07\x08'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00$ 2023-01-16 10:53:54,979 - geckolib.driver.protocol.statusblock - DEBUG - Status block segment # 7 (then #8) length 39, b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0$ 2023-01-16 10:53:55,114 - geckolib.driver.async_udp_protocol - DEBUG - Received b"<PACKT><SRCCN>SPAe8:eb:1b:1c:5e:46</SRCCN><DESCN>IOS916b0096-ab56-4344-8728-43a8259c63c2</DESCN><DATAS>STATV\x08\t'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0$ 2023-01-16 10:53:55,115 - geckolib.driver.async_udp_protocol - DEBUG - Received b"STATV\x08\t'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x$ 2023-01-16 10:53:55,117 - geckolib.driver.protocol.statusblock - DEBUG - Status block segment # 8 (then #9) length 39, b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0$ 2023-01-16 10:53:55,252 - geckolib.driver.async_udp_protocol - DEBUG - Received b"<PACKT><SRCCN>SPAe8:eb:1b:1c:5e:46</SRCCN><DESCN>IOS916b0096-ab56-4344-8728-43a8259c63c2</DESCN><DATAS>STATV\t\n'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\$ 2023-01-16 10:53:55,253 - geckolib.driver.async_udp_protocol - DEBUG - Received b"STATV\t\n'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00$ 2023-01-16 10:53:55,255 - geckolib.driver.protocol.statusblock - DEBUG - Status block segment # 9 (then #10) length 39, b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x$ 2023-01-16 10:53:59,256 - geckolib.driver.udp_protocol_handler - DEBUG - Handler GeckoStatusBlockProtocolHandler(send_bytes=None, age=4.0016806079947855, has_timedout=True, should_remove_handler=False, timeout=4s, retry_count=10)(parms=$ 2023-01-16 10:53:59,257 - geckolib.driver.async_spastruct - DEBUG - timeout waiting for any block 2023-01-16 10:53:59,258 - geckolib.driver.async_udp_protocol - DEBUG - Sending b'<PACKT><SRCCN>IOS916b0096-ab56-4344-8728-43a8259c63c2</SRCCN><DESCN>SPAe8:eb:1b:1c:5e:46</DESCN><DATAS>STATU\x11\x01\x00\x01\xdf</DATAS></PACKT>' to ('192.$ 2023-01-16 10:53:59,480 - geckolib.driver.async_udp_protocol - DEBUG - Received b"<PACKT><SRCCN>SPAe8:eb:1b:1c:5e:46</SRCCN><DESCN>IOS916b0096-ab56-4344-8728-43a8259c63c2</DESCN><DATAS>STATV\x00\x01'\n\x00\x00\x00\x84\x00\x05\x04\x03\x0$ 2023-01-16 10:53:59,481 - geckolib.driver.async_udp_protocol - DEBUG - Received b"STATV\x00\x01'\n\x00\x00\x00\x84\x00\x05\x04\x03\x00\x00\x00\x00\x00\xff\xff\xff\x03\x02\x02\xa3\x02\xa3\x00\x00\x00\x00\x00\x00\x00@\x0e\x00\nK\x00=7\x00$ 2023-01-16 10:53:59,482 - geckolib.driver.protocol.statusblock - DEBUG - Status block segment # 0 (then #1) length 39, b'\n\x00\x00\x00\x84\x00\x05\x04\x03\x00\x00\x00\x00\x00\xff\xff\xff\x03\x02\x02\xa3\x02\xa3\x00\x00\x00\x00\x00\x00\$ 2023-01-16 10:53:59,618 - geckolib.driver.async_udp_protocol - DEBUG - Received b"<PACKT><SRCCN>SPAe8:eb:1b:1c:5e:46</SRCCN><DESCN>IOS916b0096-ab56-4344-8728-43a8259c63c2</DESCN><DATAS>STATV\x01\x02'AB\x01|\x04\x00\x00\n\x00\x00\x00\x00$ 2023-01-16 10:53:59,619 - geckolib.driver.async_udp_protocol - DEBUG - Received b"STATV\x01\x02'AB\x01|\x04\x00\x00\n\x00\x00\x00\x00\x00\x00\x00\x00\x03\x84\x00\x00\x00\x00\x02\x9e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0$ 2023-01-16 10:53:59,620 - geckolib.driver.protocol.statusblock - DEBUG - Status block segment # 1 (then #2) length 39, b'AB\x01|\x04\x00\x00\n\x00\x00\x00\x00\x00\x00\x00\x00\x03\x84\x00\x00\x00\x00\x02\x9e\x00\x00\x00\x00\x00\x00\x00\x$ 2023-01-16 10:53:59,756 - geckolib.driver.async_udp_protocol - DEBUG - Received b"<PACKT><SRCCN>SPAe8:eb:1b:1c:5e:46</SRCCN><DESCN>IOS916b0096-ab56-4344-8728-43a8259c63c2</DESCN><DATAS>STATV\x02\x03'\x00\x00\x00\x00\x00\x00\x00\x00\x00\$ 2023-01-16 10:53:59,757 - geckolib.driver.async_udp_protocol - DEBUG - Received b"STATV\x02\x03'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x8b\x08\x00i\x17\x00\x00\x00\x00\xfe\x1c\x00\x00\x0$ 2023-01-16 10:53:59,758 - geckolib.driver.protocol.statusblock - DEBUG - Status block segment # 2 (then #3) length 39, b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x8b\x08\x00i\x17\x00\x00\x$ 2023-01-16 10:53:59,894 - geckolib.driver.async_udp_protocol - DEBUG - Received b"<PACKT><SRCCN>SPAe8:eb:1b:1c:5e:46</SRCCN><DESCN>IOS916b0096-ab56-4344-8728-43a8259c63c2</DESCN><DATAS>STATV\x03\x04'\x14\x00\x00\x00\x00\x00\x00\x00\x00\$ 2023-01-16 10:53:59,895 - geckolib.driver.async_udp_protocol - DEBUG - Received b"STATV\x03\x04'\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x7f\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00$ 2023-01-16 10:53:59,896 - geckolib.driver.protocol.statusblock - DEBUG - Status block segment # 3 (then #4) length 39, b'\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x7f\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0$ 2023-01-16 10:54:00,032 - geckolib.driver.async_udp_protocol - DEBUG - Received b"<PACKT><SRCCN>SPAe8:eb:1b:1c:5e:46</SRCCN><DESCN>IOS916b0096-ab56-4344-8728-43a8259c63c2</DESCN><DATAS>STATV\x04\x05'\x00\x00\x00\x00\x00\x00\x00\x00\x00\$ 2023-01-16 10:54:00,033 - geckolib.driver.async_udp_protocol - DEBUG - Received b"STATV\x04\x05'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00$ 2023-01-16 10:54:00,035 - geckolib.driver.protocol.statusblock - DEBUG - Status block segment # 4 (then #5) length 39, b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0$ 2023-01-16 10:54:00,171 - geckolib.driver.async_udp_protocol - DEBUG - Received b"<PACKT><SRCCN>SPAe8:eb:1b:1c:5e:46</SRCCN><DESCN>IOS916b0096-ab56-4344-8728-43a8259c63c2</DESCN><DATAS>STATV\x05\x06'\x04\x05\x06\x07\x08\t\n\xff\xff\xff\$ 2023-01-16 10:54:00,172 - geckolib.driver.async_udp_protocol - DEBUG - Received b"STATV\x05\x06'\x04\x05\x06\x07\x08\t\n\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xffinYT_C65.x" from ('192.168.0$ 2023-01-16 10:54:00,174 - geckolib.driver.protocol.statusblock - DEBUG - Status block segment # 5 (then #6) length 39, b'\x04\x05\x06\x07\x08\t\n\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xffinY$ 2023-01-16 10:54:00,306 - geckolib.driver.async_udp_protocol - DEBUG - Received b"<PACKT><SRCCN>SPAe8:eb:1b:1c:5e:46</SRCCN><DESCN>IOS916b0096-ab56-4344-8728-43a8259c63c2</DESCN><DATAS>STATV\x06\x07'ml\x00\x00\x00\x00inYT_S66.xml\x00\x0$ 2023-01-16 10:54:00,307 - geckolib.driver.async_udp_protocol - DEBUG - Received b"STATV\x06\x07'ml\x00\x00\x00\x00inYT_S66.xml\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" from ('192.168.0.167', 1$ 2023-01-16 10:54:00,308 - geckolib.driver.protocol.statusblock - DEBUG - Status block segment # 6 (then #7) length 39, b'ml\x00\x00\x00\x00inYT_S66.xml\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' 2023-01-16 10:54:00,444 - geckolib.driver.async_udp_protocol - DEBUG - Received b"<PACKT><SRCCN>SPAe8:eb:1b:1c:5e:46</SRCCN><DESCN>IOS916b0096-ab56-4344-8728-43a8259c63c2</DESCN><DATAS>STATV\x07\x08'\x00\x00\x00\x00\x00\x00\x00\x00\x00\$ 2023-01-16 10:54:00,445 - geckolib.driver.async_udp_protocol - DEBUG - Received b"STATV\x07\x08'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00$ 2023-01-16 10:54:00,445 - geckolib.driver.protocol.statusblock - DEBUG - Status block segment # 7 (then #8) length 39, b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0$ 2023-01-16 10:54:00,581 - geckolib.driver.async_udp_protocol - DEBUG - Received b"<PACKT><SRCCN>SPAe8:eb:1b:1c:5e:46</SRCCN><DESCN>IOS916b0096-ab56-4344-8728-43a8259c63c2</DESCN><DATAS>STATV\x08\t'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0$ 2023-01-16 10:54:00,582 - geckolib.driver.async_udp_protocol - DEBUG - Received b"STATV\x08\t'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x$ 2023-01-16 10:54:00,583 - geckolib.driver.protocol.statusblock - DEBUG - Status block segment # 8 (then #9) length 39, b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0$ 2023-01-16 10:54:04,583 - geckolib.driver.udp_protocol_handler - DEBUG - Handler GeckoStatusBlockProtocolHandler(send_bytes=None, age=4.0006242799863685, has_timedout=True, should_remove_handler=False, timeout=4s, retry_count=10)(parms=$ 2023-01-16 10:54:04,584 - geckolib.driver.async_spastruct - DEBUG - timeout waiting for any block 2023-01-16 10:54:04,584 - geckolib.driver.async_udp_protocol - DEBUG - Sending b'<PACKT><SRCCN>IOS916b0096-ab56-4344-8728-43a8259c63c2</SRCCN><DESCN>SPAe8:eb:1b:1c:5e:46</DESCN><DATAS>STATU\x12\x01\x00\x01\xdf</DATAS></PACKT>' to ('192.$ 2023-01-16 10:54:07,314 - geckoclient - DEBUG - Thread interrupted: 2 2023-01-16 10:54:08,310 - geckolib.automation.async_facade - DEBUG - Disconnect facade
But still no logs in /var/log
But issue are not related by time
Ediditing of gecko.service under /etc/systemd/system/gecko.service about "ExecStart=/usr/bin/python3.10 /opt/geckoclient/client.py" had no effect too. Damn...
`pi@raspberrypi-iob:/etc/systemd/system $ sudo systemctl start gecko.service pi@raspberrypi-iob:/etc/systemd/system $ sudo systemctl status gecko.service ● gecko.service - Gecko client service Loaded: loaded (/etc/systemd/system/gecko.service; enabled; vendor preset: enabled) Active: failed (Result: exit-code) since Mon 2023-01-16 16:39:01 CET; 823ms ago Process: 19562 ExecStart=/usr/bin/python3.10 /opt/geckoclient/client.py (code=exited, status=203/EXEC) Main PID: 19562 (code=exited, status=203/EXEC)
Jan 16 16:39:01 raspberrypi-iob systemd[1]: gecko.service: Service RestartSec=100ms expired, scheduling restart. Jan 16 16:39:01 raspberrypi-iob systemd[1]: gecko.service: Scheduled restart job, restart counter is at 5. Jan 16 16:39:01 raspberrypi-iob systemd[1]: Stopped Gecko client service. Jan 16 16:39:01 raspberrypi-iob systemd[1]: gecko.service: Start request repeated too quickly. Jan 16 16:39:01 raspberrypi-iob systemd[1]: gecko.service: Failed with result 'exit-code'. Jan 16 16:39:01 raspberrypi-iob systemd[1]: Failed to start Gecko client service. `
Hi, light and pumps should not be switched on when the client is started. Maybe some leftover commands in MQTT?
Find the log in the folder where geckolclient is placed can be normal as it is the fallback location in the case the configured on (in your case /var/log) is not writable. That can happen when you run the with your account and not with the system account.
For the service startup, exit code 203 can point to a not existing or not executable binary. See https://unix.stackexchange.com/questions/472950/systemd-status-203-exec-error-when-creating-new-service for example.
So I have the impression that your python 3.10 binary is not under /usr/bin/python3.10 or access rights on /opt/geckoclient are not set correctly.
Please check where you bin is using which python3.10
. And check that the system account can access /opt/geckoclient and files in there.
Hi again :-)
"light and pumps should not be switched on when the client is started. Maybe some leftover commands in MQTT?" this is every thing i start client.py
I changed to correct path:
pi@raspberrypi-iob:~ $ which python3.10 /usr/local/bin/python3.10
In gecko.service: `/etc/systemd/system ExecStart=/usr/local/bin/python3.10 /opt/geckoclient/client.py
-rw-rw-r-- 1 root root 203 Jan 17 12:11 gecko.service `
Directory listing
pi@raspberrypi-iob:/opt/geckoclient $ ls -la total 660 drwxrwxrwx 4 root root 4096 Jan 17 12:12 drwxr-xr-x 7 root root 4096 Dec 23 12:42 -rwxr-xr-x 1 root root 5674 Jan 17 12:02 client.py -rw-r--r-- 1 root root 5661 Jan 16 11:14 client.py_old_16_01_2023 -rwxr-xr-x 1 root root 700 Jan 5 16:50 config_old.py -rwxr-xr-x 1 root root 918 Jan 16 11:22 config.py -rw-r--r-- 1 root root 700 Dec 30 14:25 config.py_template -rwxr-xr-x 1 root root 554 Jan 17 10:21 const.py -rw-r--r-- 1 pi pi 78446 Jan 17 11:15 gecko_client.log -rw-r--r-- 1 pi pi 99812 Jan 16 10:53 gecko_client.log.1 -rw-r--r-- 1 pi pi 99933 Jan 16 10:52 gecko_client.log.2 -rw-r--r-- 1 pi pi 99627 Jan 16 10:51 gecko_client.log.3 -rw-r--r-- 1 pi pi 99979 Jan 16 10:49 gecko_client.log.4 -rw-r--r-- 1 pi pi 99814 Jan 16 10:46 gecko_client.log.5 -rwxr-xr-x 1 root root 3960 Jan 17 10:20 mqtt.py -rwxr-xr-x 1 root root 1308 Jan 17 10:21 mqtt_test.py -rwxr-xr-x 1 root root 18180 Jan 17 10:20 mySpa.py drwxr-xr-x 2 root root 4096 Jan 17 12:11 pycache drwxr-xr-x 2 root root 4096 Jan 18 10:30 service
Then only minor updates about python path and status of crash while trying to start service:
`pi@raspberrypi-iob:/etc/systemd/system $ sudo systemctl enable gecko.service pi@raspberrypi-iob:/etc/systemd/system $ sudo systemctl start gecko.service pi@raspberrypi-iob:/etc/systemd/system $ sudo systemctl status gecko.service ● gecko.service - Gecko client service Loaded: loaded (/etc/systemd/system/gecko.service; enabled; vendor preset: enabled) Active: failed (Result: exit-code) since Wed 2023-01-18 10:41:23 CET; 4s ago Process: 10713 ExecStart=/usr/local/bin/python3.10 /opt/geckoclient/client.py (code=exited, status=1/FAILURE) Main PID: 10713 (code=exited, status=1/FAILURE)
Jan 18 10:41:23 raspberrypi-iob systemd[1]: gecko.service: Service RestartSec=100ms expired, scheduling restart. Jan 18 10:41:23 raspberrypi-iob systemd[1]: gecko.service: Scheduled restart job, restart counter is at 5. Jan 18 10:41:23 raspberrypi-iob systemd[1]: Stopped Gecko client service. Jan 18 10:41:23 raspberrypi-iob systemd[1]: gecko.service: Start request repeated too quickly. Jan 18 10:41:23 raspberrypi-iob systemd[1]: gecko.service: Failed with result 'exit-code'. Jan 18 10:41:23 raspberrypi-iob systemd[1]: Failed to start Gecko client service. pi@raspberrypi-iob:/etc/systemd/system $ `
this occured after startes client.py manualy:
`pi@raspberrypi-iob:/opt/geckoclient $ ./client.py
WaterCare: Standard< changed from None to 1 Reminders: [<geckolib.automation.reminders.GeckoReminders.Reminder object at 0xb5bcd6b8>, <geckolib.automation.reminders.GeckoReminders.Reminder object at 0xb5bcd7f0>, <geckolib.automation.reminders.GeckoReminders.Reminder object at 0xb5bcd7c0>, <geckolib.automation.reminders.GeckoReminders.Reminder object at 0xb5bcd748>]< changed from None to None 'P1': 'HIGH'< changed from OFF to HIGH Reminders: [<geckolib.automation.reminders.GeckoReminders.Reminder object at 0xb5d6be68>, <geckolib.automation.reminders.GeckoReminders.Reminder object at 0xb5d6bc40>, <geckolib.automation.reminders.GeckoReminders.Reminder object at 0xb5d6bdf0>, <geckolib.automation.reminders.GeckoReminders.Reminder object at 0xb5d6be20>]< changed from None to None 'UdLi': 'HI'< changed from OFF to HI 'UdLi': 'OFF'< changed from HI to OFF Reminders: []< changed from None to None 'P1': 'OFF'< changed from HIGH to OFF Reminders: [<geckolib.automation.reminders.GeckoReminders.Reminder object at 0xb5bcd658>, <geckolib.automation.reminders.GeckoReminders.Reminder object at 0xb5bcd598>, <geckolib.automation.reminders.GeckoReminders.Reminder object at 0xb5bcd190>, <geckolib.automation.reminders.GeckoReminders.Reminder object at 0xb5bcd898>]< changed from None to None 'UdLi': 'HI'< changed from OFF to HI 'UdLi': 'OFF'< changed from HI to OFF Reminders: []< changed from None to None Reminders: [<geckolib.automation.reminders.GeckoReminders.Reminder object at 0xb5bcd928>, <geckolib.automation.reminders.GeckoReminders.Reminder object at 0xb5bcd898>, <geckolib.automation.reminders.GeckoReminders.Reminder object at 0xb5bcd4f0>, <geckolib.automation.reminders.GeckoReminders.Reminder object at 0xb5bcd838>]< changed from None to None Reminders: [<geckolib.automation.reminders.GeckoReminders.Reminder object at 0xb5d6b640>, <geckolib.automation.reminders.GeckoReminders.Reminder object at 0xb5bcd928>, <geckolib.automation.reminders.GeckoReminders.Reminder object at 0xb5bcd898>, <geckolib.automation.reminders.GeckoReminders.Reminder object at 0xb5bcd4f0>]< changed from None to None Reminders: []< changed from None to None Traceback (most recent call last): File "/opt/geckoclient/./client.py", line 194, in
asyncio.run(main()) File "/usr/local/lib/python3.10/asyncio/runners.py", line 44, in run return loop.run_until_complete(main) File "/usr/local/lib/python3.10/asyncio/base_events.py", line 649, in run_until_complete return future.result() File "/opt/geckoclient/./client.py", line 161, in main await spaman.async_connect(spa_address=ip, spa_identifier=config.SPA_IDENTIFIER) File "/home/pi/.local/lib/python3.10/site-packages/geckolib/async_spa_manager.py", line 302, in async_connect return await self.async_connect_to_spa(spa_descriptors[0]) File "/home/pi/.local/lib/python3.10/site-packages/geckolib/async_spa_manager.py", line 260, in async_connect_to_spa assert self._facade is None AssertionError `
This is in Log:
pi@raspberrypi-iob:/opt/geckoclient $ tail gecko_client.log 2023-01-18 12:05:00,115 - mySpa - DEBUG - Refreshing reminder data 2023-01-18 12:05:00,115 - mySpa - DEBUG - No reminders received 2023-01-18 12:05:02,509 - mySpa - DEBUG - on_spa_change: >Reminders: [<geckolib.automation.reminders.GeckoReminders.Reminder object at 0xb5bcd928>, <geckolib.automation.reminders.GeckoReminders.Reminder object at 0xb5bcd898>, <geckolib.automation.reminders.GeckoReminders.Reminder object at 0xb5bcd4f0>, <geckolib.automation.reminders.GeckoReminders.Reminder object at 0xb5bcd838>]< changed from None to None 2023-01-18 12:05:02,509 - mySpa - DEBUG - Refreshing reminder data 2023-01-18 12:05:42,883 - mySpa - DEBUG - on_spa_change: >Reminders: [<geckolib.automation.reminders.GeckoReminders.Reminder object at 0xb5d6b640>, <geckolib.automation.reminders.GeckoReminders.Reminder object at 0xb5bcd928>, <geckolib.automation.reminders.GeckoReminders.Reminder object at 0xb5bcd898>, <geckolib.automation.reminders.GeckoReminders.Reminder object at 0xb5bcd4f0>]< changed from None to None 2023-01-18 12:05:42,884 - mySpa - DEBUG - Refreshing reminder data 2023-01-18 12:06:33,569 - mySpa - DEBUG - on_spa_change: >Reminders: []< changed from None to None 2023-01-18 12:06:33,569 - mySpa - DEBUG - Refreshing reminder data 2023-01-18 12:06:33,570 - mySpa - DEBUG - No reminders received 2023-01-18 12:07:26,773 - geckoclient - WARNING - SPA is not connected. Trying to reconnect...
here is some more information, hope so:
`pi@raspberrypi-iob:/opt/geckoclient $ sudo systemctl status gecko.service ● gecko.service - Gecko client service Loaded: loaded (/etc/systemd/system/gecko.service; enabled; vendor preset: enabled) Active: failed (Result: exit-code) since Wed 2023-01-18 11:07:14 CET; 1h 15min ago Process: 1024 ExecStart=/usr/local/bin/python3.10 /opt/geckoclient/client.py (code=exited, status=1/FAILURE) Main PID: 1024 (code=exited, status=1/FAILURE)
Jan 18 11:07:14 raspberrypi-iob systemd[1]: gecko.service: Service RestartSec=100ms expired, scheduling restart. Jan 18 11:07:14 raspberrypi-iob systemd[1]: gecko.service: Scheduled restart job, restart counter is at 5. Jan 18 11:07:14 raspberrypi-iob systemd[1]: Stopped Gecko client service. Jan 18 11:07:14 raspberrypi-iob systemd[1]: gecko.service: Start request repeated too quickly. Jan 18 11:07:14 raspberrypi-iob systemd[1]: gecko.service: Failed with result 'exit-code'. Jan 18 11:07:14 raspberrypi-iob systemd[1]: Failed to start Gecko client service.
pi@raspberrypi-iob:/opt/geckoclient $ journalctl _PID=1024
-- Logs begin at Wed 2023-01-18 11:07:02 CET, end at Wed 2023-01-18 12:22:34 CET. --
Jan 18 11:07:14 raspberrypi-iob python3.10[1024]: Traceback (most recent call last):
Jan 18 11:07:14 raspberrypi-iob python3.10[1024]: File "/opt/geckoclient/client.py", line 20, in
it is running now permanently :-)
pi@raspberrypi-iob:/opt/geckoclient $ sudo systemctl status gecko.service ● gecko.service - Gecko client service Loaded: loaded (/etc/systemd/system/gecko.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2023-01-18 12:44:46 CET; 7min ago Main PID: 19759 (python3.10) Tasks: 1 (limit: 4915) CGroup: /system.slice/gecko.service └─19759 /usr/local/bin/python3.10 /opt/geckoclient/client.py
But: then i can not use the app to control spa. No data is shown there
Hi, glad to see that the script finally works. Which app do you want to use to control the SPA? My script only publishes the main values on a broker, and can receive via the broker commands to control the temperature, the lights, the pumps and the blowers. The latter I can't test, as I do not have blowers. So you need another tool like Openhab, FHEM, were you then can pick up the values from the broker and send the commands via the broker.
Hi,
yeah step by step :-)
I am using offical geck app "in touch 2" to control spa with remote functions.
Screen while gecko service running:
Screen without runing gecko service running
I have no blower too. Only Pump 1&2 and circulation pump with light(s) Soon with "in mix 300" modul to control color and brightness more comfortable. Do you know if it is supported from software?
To control device I will use my iobroker system. fhem is running to on same raspi. there will be some ttp223 sensors connected to esp with tasmota to send manual done sensor switch to my mqtt server to. S I can control Spa from many points in Spa :-)
Dear Thomas, sorry for the late answer. It sound a bit wired to me, so far I did not get any feedback from other user, that they are not able to use the app and the service in parallel. I also do not have any issues. Did you check, what happens when you launch the command line tool included in the package from gazoodle https://github.com/gazoodle/geckolib? Might be a network issue? I hope you can fix it, or did already ;)
After a long way i got correct os/config to run your code :-)
while i got no updates in mytt server i checked status of service. it was killed meanwhile:
`pi@raspberrypi-iob:/opt/geckoclient $ sudo systemctl start gecko.service pi@raspberrypi-iob:/opt/geckoclient $ sudo systemctl status gecko.service ● gecko.service - Gecko client service Loaded: loaded (/etc/systemd/system/gecko.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2023-01-13 12:31:20 CET; 135ms ago Main PID: 9516 (python3) Tasks: 1 (limit: 4915) CGroup: /system.slice/gecko.service └─9516 /usr/bin/python3 /opt/geckoclient/client.py
Jan 13 12:31:20 raspberrypi-iob systemd[1]: Started Gecko client service. pi@raspberrypi-iob:/opt/geckoclient $ sudo systemctl status gecko.service ● gecko.service - Gecko client service Loaded: loaded (/etc/systemd/system/gecko.service; enabled; vendor preset: enabled) Active: failed (Result: exit-code) since Fri 2023-01-13 12:31:21 CET; 9min ago Process: 9520 ExecStart=/usr/bin/python3 /opt/geckoclient/client.py (code=exited, status=1/FAILURE) Main PID: 9520 (code=exited, status=1/FAILURE)
Jan 13 12:31:21 raspberrypi-iob systemd[1]: gecko.service: Service RestartSec=100ms expired, scheduling restart. Jan 13 12:31:21 raspberrypi-iob systemd[1]: gecko.service: Scheduled restart job, restart counter is at 5. Jan 13 12:31:21 raspberrypi-iob systemd[1]: Stopped Gecko client service. Jan 13 12:31:21 raspberrypi-iob systemd[1]: gecko.service: Start request repeated too quickly. Jan 13 12:31:21 raspberrypi-iob systemd[1]: gecko.service: Failed with result 'exit-code'. Jan 13 12:31:21 raspberrypi-iob systemd[1]: Failed to start Gecko client service. pi@raspberrypi-iob:/opt/geckoclient $ `
I still have no geckoclient log where i could have a look. Debuglevel was changed to "DEBUG" too.
Services:
`pi@raspberrypi-iob:/opt/geckoclient $ sudo systemctl stop gecko.service pi@raspberrypi-iob:/opt/geckoclient $ sudo systemctl start gecko.service pi@raspberrypi-iob:/opt/geckoclient $ sudo systemctl status gecko.service ● gecko.service - Gecko client service Loaded: loaded (/etc/systemd/system/gecko.service; enabled; vendor preset: enabled) Active: failed (Result: exit-code) since Fri 2023-01-13 12:48:21 CET; 4s ago Process: 11607 ExecStart=/usr/bin/python3 /opt/geckoclient/client.py (code=exited, status=1/FAILURE) Main PID: 11607 (code=exited, status=1/FAILURE)
Jan 13 12:48:21 raspberrypi-iob systemd[1]: gecko.service: Service RestartSec=100ms expired, scheduling restart. Jan 13 12:48:21 raspberrypi-iob systemd[1]: gecko.service: Scheduled restart job, restart counter is at 5. Jan 13 12:48:21 raspberrypi-iob systemd[1]: Stopped Gecko client service. Jan 13 12:48:21 raspberrypi-iob systemd[1]: gecko.service: Start request repeated too quickly. Jan 13 12:48:21 raspberrypi-iob systemd[1]: gecko.service: Failed with result 'exit-code'. Jan 13 12:48:21 raspberrypi-iob systemd[1]: Failed to start Gecko client service. pi@raspberrypi-iob:/opt/geckoclient $ python3.10 client.py
`