kalinrow / geckoclient

A gecko client to publich Gecko in.touch data on a broker
5 stars 4 forks source link

running gecko service is killed #5

Open thomasklein1975 opened 1 year ago

thomasklein1975 commented 1 year ago

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

WaterCare: Standard< changed from None to 1 Reminders: [<geckolib.automation.reminders.GeckoReminders.Reminder object at 0xb5b16550>, <geckolib.automation.reminders.GeckoReminders.Reminder object at 0xb5b16688>, <geckolib.automation.reminders.GeckoReminders.Reminder object at 0xb5b16658>, <geckolib.automation.reminders.GeckoReminders.Reminder object at 0xb5b165e0>]< changed from None to None 'P1': 'HIGH'< changed from OFF to HIGH Reminders: [<geckolib.automation.reminders.GeckoReminders.Reminder object at 0xb5d2cfd0>, <geckolib.automation.reminders.GeckoReminders.Reminder object at 0xb5b16310>, <geckolib.automation.reminders.GeckoReminders.Reminder object at 0xb5b16628>, <geckolib.automation.reminders.GeckoReminders.Reminder object at 0xb5b16670>]< changed from None to None

`

kalinrow commented 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.

thomasklein1975 commented 1 year ago

Hi,

I use this as first line:

#!/usr/bin/python3.10 """ maybe i should use it in every *.py file

kalinrow commented 1 year ago

Try it in the gecko.service file ExecStart=/usr/bin/python3.10 /opt/geckoclient/client.py

thomasklein1975 commented 1 year ago

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 $ `

thomasklein1975 commented 1 year ago

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

`

thomasklein1975 commented 1 year ago

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

thomasklein1975 commented 1 year ago

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. `

kalinrow commented 1 year ago

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.

thomasklein1975 commented 1 year ago

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 $ `

thomasklein1975 commented 1 year ago

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...

thomasklein1975 commented 1 year ago

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 Jan 18 11:07:14 raspberrypi-iob python3.10[1024]: from mqtt import Mqtt Jan 18 11:07:14 raspberrypi-iob python3.10[1024]: File "/opt/geckoclient/mqtt.py", line 12, in Jan 18 11:07:14 raspberrypi-iob python3.10[1024]: import paho.mqtt.client as paho Jan 18 11:07:14 raspberrypi-iob python3.10[1024]: ModuleNotFoundError: No module named 'paho' pi@raspberrypi-iob:/opt/geckoclient $ `

thomasklein1975 commented 1 year ago

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

kalinrow commented 1 year ago

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.

thomasklein1975 commented 1 year ago

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:

grafik

Screen without runing gecko service running

grafik

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 :-)

kalinrow commented 1 year ago

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 ;)